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

关于sqoop导入数据的时候添加--split-by配置项对sqoop的导入速度的影响。

最近在搞sqoop的导入导出操作。但是今天遇到一个表数据量特别大。我们想通过sqoop的导入功能对数据进行导入,但是从oracle当中导入数据的时候,如果是需要平行导入的话必须使用--split-by,也就是设置map的数量。

一种就是不指定--split-by(切分的字段)直接使用一个map的形式就行导入操作。

我这张表的数据是40G,我将其用10个map进行导入,然后按照其中一个number类型的字段进行对数据进行切分。然后导入,导入的脚本如下:

#!/bin/bash
url="jdbc:oracle:thin:@172.16.250.10:1521:stupor"
database="XD_CORE"
tables=("report_residual_money_detail_fields")
tables_num=${#tables[@]}
username="qry_read"
password="****"
for((i=0;i<tables_num;i++));
do
sqoop import \
--connect ${url} \
--username ${username} \
--password ${password} \
--query 'SELECT residual_pact_money,loan_id,cur_date FROM XD_CORE.report_residual_money_detail where 1=1 and $CONDITIONS' \ ---这里是查询的字段
--target-dir /user/gxg/test1 \  --这个标签一定要指定,这里是导入数据的临时目录
--fields-terminated-by \t \
--split-by loan_id \  ---这个地方是按照某个字段进行切分的,一般都是整型的数据类型进行切分。
-m 10 \  --这里定义切分的map的个数是10个。
--hive-import \
--create-hive-table \
--hive-database test \
--hive-table ${tables[i]} \
--null-non-string '\\N' \  --这里是到导入的空值进行处理。
--null-string '\\N' \
--verbose 
done

下面是我执行真个脚本的时候导入花费的时间。做了一个对比。

 

 

 

 

 

 

这里可以看出,原来是4个map导入数据,后面换成10个map导入数据。这里的导入时间虽然没有减少很多,但是时间还是减少了一些。

具体的原理参考下面的连接,这位老哥说的很不错:
https://blog.csdn.net/weixin_40137479/article/details/79117358

 

转载于:https://www.cnblogs.com/gxgd/p/9720705.html

相关文章:

  • ConnectionRead (WrapperRead())Timeout expired
  • 【Hadoop 分布式部署 十:配置HDFS 的HA、启动HA中的各个守护进程】
  • 水晶报表中对年龄进行分组的公式字段
  • X-PACK详解
  • 对ASP.NET 2.0的预编译功能有点不满
  • 【模板】有理数取余
  • [导入]SqlHelper的几个细节(原创)
  • HDU_5783_DivideTheSequence
  • 网上求职增加简历点击率
  • [BZOJ1060][ZJOI2007]时态同步 树形dp
  • 2004-3-26+ 数据库连接字符串的简易表示法
  • Python基础-----函数式编程含义及特点(及尾递归)
  • 第一次用.net2.0 LOGIN登陆控件的困惑和解决方法。
  • docker 容器详解
  • 2分分页处理存储过程通用存储过程
  • ➹使用webpack配置多页面应用(MPA)
  • isset在php5.6-和php7.0+的一些差异
  • js中forEach回调同异步问题
  • Linux CTF 逆向入门
  • Lucene解析 - 基本概念
  • rabbitmq延迟消息示例
  • Sass Day-01
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Vue2.x学习三:事件处理生命周期钩子
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 如何设计一个微型分布式架构?
  • 什么是Javascript函数节流?
  • 实习面试笔记
  • 思否第一天
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 移动端 h5开发相关内容总结(三)
  • 仓管云——企业云erp功能有哪些?
  • ​【原创】基于SSM的酒店预约管理系统(酒店管理系统毕业设计)
  • # centos7下FFmpeg环境部署记录
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (C#)Windows Shell 外壳编程系列4 - 上下文菜单(iContextMenu)(二)嵌入菜单和执行命令...
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (转载)CentOS查看系统信息|CentOS查看命令
  • .net 4.0发布后不能正常显示图片问题
  • .NET Micro Framework初体验
  • .NET6 命令行启动及发布单个Exe文件
  • .net中调用windows performance记录性能信息
  • .sys文件乱码_python vscode输出乱码
  • @NestedConfigurationProperty 注解用法
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [100天算法】-实现 strStr()(day 52)
  • [2018-01-08] Python强化周的第一天
  • [Angular 基础] - 数据绑定(databinding)
  • [ANT] 项目中应用ANT
  • [AR]Vumark(下一代条形码)
  • [C++数据结构](31)哈夫曼树,哈夫曼编码与解码
  • [DevEpxress]GridControl 显示Gif动画
  • [DNS网络] 网页无法打开、显示不全、加载卡顿缓慢 | 解决方案