Sqoop导入查询可从表中转移1000条随机记录?

时间:2018-06-24 11:39:10

标签: hadoop import sqoop

我有一个约有100000条记录的表,并希望从该表中导入1000条随机记录

有人可以帮忙吗:)

sqoop导入\ --connect jdbc:mysql:// localhost:3306 / userdb \ --username根\ --table emp --m 1

2 个答案:

答案 0 :(得分:0)

没有用于随机导入的此类命令,但是您可以使用--query选项将记录限制为仅导入1000条记录。由于您拥有MySQL数据库,因此可以使用以下命令:

sqoop import --connect "$CONNECT_STRING" \ --query "select $source_column from $SOURCE_TABLE_NAME where \$CONDITIONS limit 1000" \ --username $USER_NAME --password $PASSWORD \ --target-dir $TARGET_DIRECTORY_NAME -m 1

您还可以使用--query选项传递任何自定义查询。

答案 1 :(得分:0)

Sqoop只是一个将数据从mysql传输到hdfs或将hdfs传输到mysql的工具,因此没有任何直接命令可以执行此操作,但是可以使用这样的查询来实现

查询:- --query“从my_table顺序中以rand()限制1000 AND \ $ CONDITIONS选择*” 它将帮助您导入或导出表的1000行。