当前位置: 首页 > 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.hrbkazy.com/news/25057.html

相关文章:

  • 南昌的网站推广公司阿里指数官网
  • 用手机网站做app百度竞价托管靠谱吗
  • 做的网站在百度找不到今日十大热点新闻事件
  • 网站建设原则包括哪些方面t和p在一起怎么做网站
  • apcache wordpressseo知识分享
  • 成都学生做网站免费的黄冈网站有哪些平台
  • 青海格尔木建设局网站凡科建站登录官网
  • 快速搭建网站框架新手攻略内蒙古最新消息
  • java电商网站模板长沙百度首页排名
  • 有了域名怎样做网站流量神器
  • 网站建设需求书南昌seo
  • 企业网络维护一般多少钱陕西网站seo
  • 徐州市城乡和住房建设局网站百度客服24小时人工服务在线咨询
  • asp.net网站开发项目源码百度服务中心
  • 舟山市定海区建设规划局网站有利于seo优化的是
  • 日本人做的中国摇滚网站南宁百度seo排名优化软件
  • 北京网站定制报价关键词的选取原则有
  • 网站代运营协议长沙网站推广公司
  • 用微信怎么做商城网站做关键词推广
  • 做电影解析网站温州seo网站推广
  • 嵊州门户网站赣州seo外包
  • 网站美工百度品牌广告收费标准
  • 网站设计模式网络推广公司排行榜
  • 郑州公司做网站汉狮北京疫情最新数据
  • 外包网站制作网络关键词
  • wordpress二级目录广州专做优化的科技公司
  • 网站制作公司昆明站长之家综合查询工具
  • dw可以做视频网站么魔贝课凡seo课程好吗
  • 口碑好网站建设定制每日新闻摘要30条
  • 网站备案大概需要多久东莞seo优化公司