当前位置: 首页 > news >正文

纺织品公司网站建设阿里seo排名优化软件

纺织品公司网站建设,阿里seo排名优化软件,西安跨境电商平台网站,江苏省建筑网监督信息平台个人博客地址:Sqoop源码修改:增加落地HDFS文件数与MapTask数量一致性检查 | 一张假钞的真实世界 本篇是对记录一次Sqoop从MySQL导入数据到Hive问题的排查经过的补充。 Sqoop 命令通过 bin 下面的脚本调用,调用如下: exec ${HAD…

个人博客地址:Sqoop源码修改:增加落地HDFS文件数与MapTask数量一致性检查 | 一张假钞的真实世界

本篇是对记录一次Sqoop从MySQL导入数据到Hive问题的排查经过的补充。

Sqoop 命令通过 bin 下面的脚本调用,调用如下:

exec ${HADOOP_COMMON_HOME}/bin/hadoop org.apache.sqoop.Sqoop "$@"

org.apache.sqoop.Sqoop 是 Sqoop 的入口类,在此主要是解析参数及初始化工具类,然后通过 org.apache.hadoop.util.ToolRunner 类调用对应的工具完成操作。Sqoop 的 Import 操作对应的是 org.apache.sqoop.tool.ImportTool 类。

在 ImportTool 类的 return 代码前增加以下代码:

int numMappers = options.getNumMappers();String hDbName = options.getHCatDatabaseName();
String hTableName = options.getHCatTableName();
String hPartKeys = options.getHCatalogPartitionKeys();
String hPartVals = options.getHCatalogPartitionValues();if(isStringNotEmpty(hDbName) && isStringNotEmpty(hTableName) && isStringNotEmpty(hPartKeys) &&     isStringNotEmpty(hPartVals)) {String[] partKeys = hPartKeys.split(",");String[] partVals = hPartVals.split(",");String partPathStr = "";if(partKeys.length > 0 && partVals.length == partKeys.length) {for(int i = 0; i < partKeys.length; i++) {partPathStr += partKeys[i] + "=" + partVals[i] + "/";}}String targetDir = "/user/hive/warehouse/" + hDbName + ".db/" + hTableName + "/" + partPathStr;targetDir = targetDir.toLowerCase();LOG.info("---------targetDir=" + targetDir);try {FileSystem fs = FileSystem.get(options.getConf());RemoteIterator<LocatedFileStatus> rIter = fs.listFiles(new Path(targetDir), false);int fileCount = 0;while(rIter.hasNext()) {fileCount++;rIter.next();}LOG.info("---------------fileCount=" + fileCount);if(numMappers != fileCount) {LOG.error("files number in hdfs not equals mapper task number !");return 2;}} catch (IOException e) {LOG.error("count files number from hdfs error !");e.printStackTrace();return 3;}
}

改动只针对 Sqoop 集成 HCatalog 方式导入 ORC 格式的情况。因为我们的数据仓库中都采用的是这种方式。

优化:当 MySQL 中记录数特别少时,如少于 4 条记录,则默认 Sqoop 的 MapTask 数量为 4 但其实际执行时因为原始记录数不够则实际执行的 MapTask 数量会跟实际的记录数一致,此时 split 数量跟落地 HDFS 的文件数量一致。所以,可以根据 Sqoop 对应 MR 的实际 split 数量进行判断文件数量。

http://www.yidumall.com/news/77119.html

相关文章:

  • 西安seo外包价格seo销售好做吗
  • 武汉做网站公司推荐网站联盟推广
  • 太原网站建设培训学校郑州seo排名公司
  • 中国4a广告公司100强临沂seo公司
  • 上海代办注册公司费用优化网站怎么做
  • 湛江市住房和城乡建设网站站长统计性宝app
  • 南阳做网站的关键词搜索站长工具
  • 织梦网站名称标签百度快照和广告的区别
  • 网站建设属于什么费用优化排名推广关键词
  • l临沂建设工程信息网站给公司做网站要多少钱
  • 搭建邮箱网站怎么做好网站方式推广
  • 做有奖竞猜网站违法吗长沙网站到首页排名
  • 品牌网站建设内容seo站内优化教程
  • 中园建设银行网站什么是网络营销公司
  • iis网站建设服务器域名怎么注册
  • 家具网站开发环境与工具b站不收费网站
  • 做网站必须购买空间吗?企业宣传册模板
  • 绵阳网站建设百度指数代表什么
  • 开发微信小程序商城廊坊快速优化排名
  • 做一的同志小说网站有哪些百度推广关键词匹配模式
  • 汉中市建设工程招投标信息网官网被公司优化掉是什么意思
  • 菏泽网站设计培训新品牌推广策划方案
  • 真人做爰视频网站免费下载免费seo排名优化
  • 公司网站维护分工网站怎么才能被百度收录
  • 滑动网站广州软件系统开发seo推广
  • 自建网站教程视频在线crm网站
  • 怎么做微信钓鱼网站服务营销案例100例
  • 我想出租做房 请问哪个网站好些郑州网站推广优化
  • 网站服务公司名称长沙企业关键词优化
  • 电视台视频网站建设方案软文代发平台