Запрос импорта Sqoop для переноса 1000 случайных записей из таблицы? - PullRequest
0 голосов
/ 24 июня 2018

У меня есть таблица из 100000 записей, и я хочу импортировать 1000 случайных записей из этой таблицы

может кто-нибудь помочь:)

sqoop import \ --connect jdbc: mysql: // localhost: 3306 / userdb \ --username root \ --table emp --m 1

Ответы [ 2 ]

0 голосов
/ 20 июля 2018

Sqoop - это просто инструмент, который переносит данные из mysql в hdfs или hdfs в mysql, поэтому прямой команды для этого не существует, но yes может сделать это с помощью запроса, подобного этому

query: - -запрос "выбрать * из порядка my_table с помощью rand () limit 1000 & \ $ CONDITIONS" поможет вам импортировать или экспортировать 1000 строк таблицы.

0 голосов
/ 24 июня 2018

Для случайного импорта такой команды не существует, но вы можете ограничить запись для импорта только 1000 записей, используя опцию --query.Поскольку у вас есть база данных 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.

...