首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用sqoop将数据导出到具有自动增量id的Microsoft表?

问如何使用sqoop将数据导出到具有自动增量id的Microsoft表?
EN

Stack Overflow用户
提问于 2020-04-10 23:44:09
回答 1查看 205关注 0票数 0

我在Microsoft Sql上有一个表,其中字段ID设置为自动增量。

我希望将数据从hadoop导出到这个sql表。

我创建了一个hiveql表来镜像sql表

我尝试在Id列上设置null值,这是sql上的自动增量,但没有工作。

有什么争论或者什么方法可以做到吗?

代码语言:javascript
复制
    sqoop export \
    --connect "jdbc:sqlserver://<sqlserverhost>:<sqlserver port>;database=<sqlserver database> \
    --username="";
    --password="" 
    --table "MYTABLE"  
    --catalog"" 
    -- columns "ID, NAME, VALUE1, VALE2"\
    -- verbose \
EN

回答 1

Stack Overflow用户

发布于 2020-04-12 11:25:52

您试过省略自动增量列吗?在mysql中,它运行得很好,也许SQL Server也是这样做的。

在我的示例中,我创建了一个自动增量表:

代码语言:javascript
复制
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)
);

我把这些数据放在一个文件里

代码语言:javascript
复制
Didar,sqoop,30
Rahul,scala,120
myself,cca175,180
Nikita,spark,80
Mithun,spark,1

和sqoop export

代码语言:javascript
复制
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

结果

代码语言:javascript
复制
+----+--------+--------+------+
| id | name   | topic  | hits |
+----+--------+--------+------+
|  1 | Didar  | sqoop  | 30   |
|  2 | Rahul  | scala  | 120  |
|  3 | myself | cca175 | 180  |
|  4 | Mithun | spark  | 1    |
|  5 | Nikita | spark  | 80   |
+----+--------+--------+------+
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61150287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档