【问题标题】:How to use Sqoop import command with --map-column-hive?如何将 Sqoop 导入命令与 --map-column-hive 一起使用?
【发布时间】:2017-12-16 13:35:42
【问题描述】:

我正在尝试将 Teradata 中的数据 Sqoop 到 hive。我想到了以下步骤:

1) 创建一个 Hive 表,其中包含 Hue 中的所有必填字段。
2) 通过使用 Sqoop 导入命令和--map-column-hive 属性将数据从 Teradata 加载到 hive。

Sqoop导入命令如何指向已经创建好的Hive表,使Sqooped数据放到对应的Hive表中?

【问题讨论】:

    标签: hadoop hive sqoop


    【解决方案1】:

    您可以使用 shell 和 awk 从现有表中生成 map-column-hive 属性。它将以COL1=TYPE,COL2=TYPE,...COLN=TYPE的形式生成

    #!/bin/bash
    
    #Set table name here
    TABLE_NAME=your_schema.your_table
    
    #generate map from existing table
    MAP_COLUMN_HIVE=$(hive -S -e "set hive.cli.print.header=false; describe ${TABLE_NAME};" | awk -F " " 'f&&!NF{exit}{f=1}f{printf c toupper($1) "=" toupper($2)}{c=","}')
    
    #call sqoop with --map-column-hive parameter
    #add other sqoop params
    sqoop import [your sqoop params here] --map-column-hive "$MAP_COLUMN_HIVE" [more sqoop params]
    

    【讨论】:

      猜你喜欢
      • 2017-02-07
      • 1970-01-01
      • 2016-08-04
      • 1970-01-01
      • 2016-08-07
      • 2017-02-03
      • 1970-01-01
      • 2018-09-17
      • 1970-01-01
      相关资源
      最近更新 更多