[root@qianfeng01 sqoop-1.4.7] bin/sqoop import --connect jdbc:mysql://localhost:3306/qfdb \--username root --password 123456 \--split-by empno \--query 'select empno,ename,job from emp where empno > 7777 and $CONDITIONS' \--target-dir hdfs://qianfeng01:8020/sqoopdata/7 DBMS-Hive...
大量数据时:要特别考虑数据的特征,对于split- by最完美的情况是有一个:均匀分布的数字(如自增列)或时间字段,且这个字段还有索引(最好字段是int、tinyin),这样在抽取时使得并发的每个sq1处理相近的数据量,并且Sqoop附加的where条件可以使用索引。split-by id,-m 2, 数据量1-100。第 一个mapper:(0,50]...
在导入表的时候,也可以通过指定where条件来导入,具体参数使用 --where,譬如要导入员工号大于7800的记录,可以用下面参数:[root@qianfeng01 sqoop-1.4.7]# bin/sqoop import --connect jdbc:mysql://localhost:3306/qfdb \--username root --password 123456 \--table emp \--columns 'empno,mgr' \--where ...
name FromMySQL2HDFS2 \ > --delete-target-dir \ > --fields-terminated-by '\t' \ > -m 1 \ > --null-string 0 \ > --columns "name" \ > --target-dir STU_COLUMN_WHERE \ > --where 'id<1002' # HDFS 结果 [hadoop@hadoop000 ~]$ hadoop fs -cat STU_COLUMN_WHERE/"part*" ...
--query 'select empno,mgr,job from emp WHERE empno>7800 and $CONDITIONS' 如果使用了双引号,那么Sqoop在解析的时候会做转义的解析,这时候就必须要加转义字符\: 如下: --query "select empno,mgr,job from emp WHERE empno>7800 and \$CONDITIONS" MySql缺主键问题 1如果MySql的表没有主键,将会报错: 19...
/test --username root --password 123456 --query "select cast(\`s1\` as char) s1,cast(\`s2\` as char) s2,cast(\`s3\` as char) s3 from \`test_sqoop\` where ( 1=1 ) and \$CONDITIONS" --as-parquetfile --append --target-dir /user/hive/warehouse/tsqoop.db/test --m 1...
14/07/19 12:03:42 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM WF_4G_BILLDETAIL_NEW_20140717 AS t WHERE 1=0 14/07/19 12:03:42 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /d2_data0/user/ocdc/bin/hadoop-2.0.0-mr1-cdh4.2.1 ...
1/09/21 17:18:49 INFO manager.OracleManager: Time zone has been set to GMT 11/09/21 17:18:49 DEBUG manager.SqlManager: Using fetchSize for next query: 1000 11/09/21 17:18:49 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM addlabel_pris t WHERE 1=0 11/09/21...
#Set path to where hadoop-*-core.jar is available export HADOOP_MAPRED_HOME=/home/hadoop/apps/hadoop-2.7.5#set the path to where bin/hbase is available export HBASE_HOME=/home/hadoop/apps/hbase-1.2.6#Set the path to where bin/hive is available export HIVE_HOME=/home/hadoop/apps/ap...
Sqoop在解析完命令参数后会查找参数指定的分片字段的数据范围,假设用户指定的分片字段为id,通过jdbc接口可以找到id的最大值和最小值,分别是5000和1。 数据范围除以map数量可以得到每个Map传输的数据id范围,假设map数是5个,那么每个map的范围就是5000/5=1000。每个map使用SQL语句进行筛选,筛选方法就是在SQL中添加whe...