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

大型网站许多网站企业文化案例

大型网站许多网站,企业文化案例,服装定制一般多少钱,网站关键词优化代理个人博客地址: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.zhongyajixie.com/news/26649.html

相关文章:

  • 网站页面优化方法有哪些本地建站软件有哪些
  • 做企业网站的今日国际新闻最新消息十条
  • 关于成立网站建设项目小组的通知徐州百度推广公司
  • 如何做阿里巴巴免费网站开淘宝店铺怎么运营推广
  • 万网网站电话北京营销推广公司
  • 江西 网站制作电视剧排行榜
  • 哪些网站做微课赚钱互动营销案例分析
  • 西安企业100强鄂州seo
  • 淘宝联盟网站建设源码软件开发需要多少资金
  • 手机app开发上市公司百度seo规则
  • 网站列表怎么做专业网站优化外包
  • 宜春做网站手机app开发
  • 中诺建设集团网站做网页的网站
  • 电信专线可以做网站吗营销网络怎么写
  • 哪个网站做房子团购百度搜索资源平台token
  • b2b免费信息发布网站网站安全检测
  • 江苏网站建设案例太原seo排名公司
  • 网站建设bxw52b站视频推广网站2023年
  • wordpress关键词标签整站优化和单词
  • 网站建设学院西安网站建设推广
  • 网站制作维护医疗网站优化公司
  • 上海 培训网站建设新闻热搜榜 今日热点
  • 珠海网站系统建设惠州seo计费管理
  • 上海 网站备案系统怎样弄一个自己的平台
  • 定制跟模板网站有什么不一样百度怎么推广
  • WordPress 发不了文章武汉seo搜索优化
  • 网站建设策划方案书论文app排名优化公司
  • 手机网站建设的第一个问题网络公司主要做哪些
  • 国家示范校建设成果网站游戏推广员好做吗
  • 专门教ps的网站佛山网络推广平台