Как экспортировать данные с помощью sq oop в Microsoft Sql Таблицу с идентификатором автоинкремента? - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть одна таблица в Microsoft Sql с установленным автоматическим приращением для идентификатора поля.

Я хотел бы экспортировать данные из таблицы oop в эту таблицу sql.

I Создана таблица hiveql для зеркального отображения таблиц sql и
. Я попытался установить нулевое значение для столбца Id, который автоматически увеличивается на sql, но не сработал.

Есть какой-то аргумент или какой-то способ сделать это?

sqoop export \
--connect "jdbc:sqlserver://<sqlserverhost>:<sqlserver port>;database=<sqlserver database> \
--username="";
--password="" 
--table "MYTABLE"  
--catalog"" 
-- columns "ID, NAME, VALUE1, VALE2"\
-- verbose \

1 Ответ

1 голос
/ 12 апреля 2020

Вы пытались опустить столбец автоинкремента ?, в mysql он работает очень хорошо, может быть, SQL Сервер делает то же самое.

В моем примере я создал таблицу автоматического приращения:

CREATE TABLE users (
     id MEDIUMINT NOT NULL AUTO_INCREMENT,
     name CHAR(30) NOT NULL,
     topic CHAR(30) NOT NULL,
     hits CHAR(30) NOT NULL
     PRIMARY KEY (id)
);

У меня есть эти данные в файле

Didar,sqoop,30
Rahul,scala,120
myself,cca175,180
Nikita,spark,80
Mithun,spark,1

и sq oop export

sqoop export \
--connect jdbc:mysql://quickstart.cloudera:3306/retail_export \
--username root \
--password cloudera \
--export-dir /user/cloudera/files/user.csv \
--table users \
--columns "name, topic, hits" \
--outdir /home/cloudera/outdir \
--bindir /home/cloudera/bindir

результат

+----+--------+--------+------+
| id | name   | topic  | hits |
+----+--------+--------+------+
|  1 | Didar  | sqoop  | 30   |
|  2 | Rahul  | scala  | 120  |
|  3 | myself | cca175 | 180  |
|  4 | Mithun | spark  | 1    |
|  5 | Nikita | spark  | 80   |
+----+--------+--------+------+

Я надеюсь, что это может быть полезно!

С уважением.

...