【问题标题】:how to - sqoop export using view to sql server如何 - 使用视图将 sqoop 导出到 sql server
【发布时间】:2015-02-20 14:43:09
【问题描述】:

我在 hive 中有一张桌子,并为它创建了一个视图。 比如说

我的表有以下字段

id | name | city | state | county | country 

我的看法是这样的Id | name | country

现在我需要将这些值 [ from view ] 导出到 sql server 如何使用视图将数据从配置单元导出到 sql server 有什么办法吗?

我一直在使用

导出到 sql
sqoop export --connect "jdbc:sqlserver://XXXXXX;username=YYY;password=ZZZZZ;database=AdventureWorksDW" --table sqlg --export-dir /hive/datawarehouse/sql -m 1 -input-fields-terminated-by "^"

但现在我需要使用 view

导出

谢谢

更新:

我的 .csv 文件在 HDFS 中如下所示

1^hari^XX^xx^yy^zz
2^migi^na^na^na^na 

但我只需要加载

1^hari^zz
2^migi^na 

进入SQL表

【问题讨论】:

    标签: sql-server-2008 hadoop hive sqoop


    【解决方案1】:

    试试

    sqoop export --connect "jdbc:sqlserver://172.16.2.182;username=sa;password=1timep;database=AdventureWorksDW" --table sqlg --export-dir /hive/datawarehouse/sql -m 1 -input-fields-terminated-by "^" --columns "Id,name,country" --update-key "Id"
    

    【讨论】:

      【解决方案2】:

      相同的 Sqoop 命令应该适用于表和视图。查看 Sqoop 文档 (1)。

      【讨论】:

      • Sqoop 将对 MR 中的视图运行 SQL 并获取数据。为什么命令需要表格作为参数?
      • 拜托 - 看看我的原始回复 - 正如我所说,相同的 Sqoop 命令适用于表格和视图
      • 好的,在命令中我们只指定文件路径“/hive/datawarehouse/sql”。我的 .cav 文件 6 用分隔的 "^" 归档。但我只需要将三个字段加载到 SQL 中。这意味着我只需要加载 Id |姓名 |国家进入我的 sql 表。我怎样才能使用上面的命令来做到这一点啊
      • 我很清楚,如果我运行上述命令所有字段,(6 个字段)将被加载,对吗?但我只想加载(3 个字段)
      • 您的参考是针对 sqoop 导入的,是的,据记载 sqoop 导入支持视图。 @Backtrack 询问有关 sqoop 导出的问题。并且没有 sqoop 导出不适用于视图。至少它没有记录在案,我已经分拆了一个测试用例并尝试从 Hive 视图执行 sqoop 导出 - 它失败并显示“ExportTool:遇到 IOException 运行导出作业:java.io.IOException:java.lang.NullPointerException” - 可能是一个 sqoop 错误。同样,您的参考与 sqoop 导入无关。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 1970-01-01
      • 2023-03-13
      • 1970-01-01
      • 1970-01-01
      • 2021-05-14
      相关资源
      最近更新 更多