首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sqoop将数据导入到配置单元和hdfs

Sqoop将数据导入到配置单元和hdfs
EN

Stack Overflow用户
提问于 2019-02-19 15:40:05
回答 2查看 1.1K关注 0票数 2

我们可以使用sqoop将数据导入到hdfs和配置单元中吗?我在root和admin命令下面用两个不同的用户(root和admin)尝试过

根部

代码语言:javascript
复制
sqoop import --connect jdbc:mysql://10.6.162.58/test_alpha --username pbd -P --table posts --hive-import --hive-database test_root --hive-table posts1 --hive-drop-import-delims --null-string '\\N' --null-non-string '\\N' --target-dir test_hive_root/2

管理员

代码语言:javascript
复制
sqoop import --connect jdbc:mysql://10.6.162.58/test_alpha --username pbd -P --table posts --hive-import --hive-database test_admin --hive-table posts1 --hive-drop-import-delims --null-string '\\N' --null-non-string '\\N' --target-dir test_hive_admin/2

它返回:

这两种方法都成功地将数据导入到配置单元,但都无法导入到HDFS。

对于root,它不会创建我定义的"test_hive_root/2“目录。

对于admin,它只是创建目录"test_hive_admin/2“,但只创建了”成功“文件,而不是数据(通常当我将其导入HDFS时,它会创建”成功“文件和4个以上的文件)

我该如何解决这个问题呢?sqoop可以导入到HDFS和Hive吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-21 02:51:20

target-dir控制在加载到配置单元表之前需要临时存储数据的位置,但不会在该位置创建配置单元表。

表在hive-site.xmlhive.metastore.warehouse.dir属性中指定的目录中创建。

如果您想导入到特定目录,那么使用不带hive-import参数的target-dir,并在HDFS目录上创建hive表。

(或)

创建指向target-dir的配置单元外部表,然后在sqoop import中删除-- Create - Hive -table参数和--target-dir。

在这里阅读答案:https://community.hortonworks.com/questions/198586/running-a-sqoop-job-with-a-target-dir-destination.html

这里:https://community.hortonworks.com/questions/193934/sqoop-import-mssql-table-into-hdfs.html

票数 2
EN

Stack Overflow用户

发布于 2019-02-20 12:47:05

我希望您在给出--target-dir的路径时使用了/前缀

代码语言:javascript
复制
sqoop import --connect jdbc:mysql://10.6.162.58/test_alpha --username pbd -P --table posts --hive-import --hive-database test_root --hive-table posts1 --hive-drop-import-delims --null-string '\\N' --null-non-string '\\N' --target-dir /test_hive_root/2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54760995

复制
相关文章

相似问题

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