【问题标题】:Hive import is not compatible with importing into AVRO formatHive 导入与导入 AVRO 格式不兼容
【发布时间】:2018-02-23 11:25:11
【问题描述】:

我有以下代码:

  sqoop import --connect jdbc:mysql://localhost/export \
  --username root \
  --password cloudera \
  --table cust \
  --hive-import \
  --create-hive-table \
  --fields-terminated-by ' '  \
  --hive-table default.cust \
  --target-dir /user/hive/warehouse/cust \
  --compression-codec org.apache.org.io.compress.GzipCodec \
  --as-avrodatafile \
  -m 1

出现以下错误,请帮忙。 Hive 导入与导入 AVRO 格式不兼容。

【问题讨论】:

  • 您好,您可以粘贴您的 cust 表示例数据吗?和错误日志?
  • Hive 不支持从 sqoop 导入 avro 文件格式。

标签: import sqoop


【解决方案1】:

目前,Sqoop 不支持将 AVRO 格式直接导入到 HIVE 表中,作为一种变通方法,您可以导入 HDFS 并在 HIVE 中创建 EXTERNAL TABLE

第 1 步:导入 hdfs

sqoop 导入 --connect jdbc:mysql://localhost/export \

--username root --password cloudera --表客户\ --target-dir /user/hive/warehouse/cust \ --compression-codec org.apache.org.io.compress.GzipCodec \ --as-avrodatafile -m 1

此导入将在当前目录 (Linux) 中创建一个扩展名为 .avsc 的架构文件。将此文件复制到 HDFS 中的某个位置 (PATH_TO_THE_COPIED_SCHEMA)。

第 2 步:在 HIVE 中创建一个外部表,如

创建外部表客户 存储为 AVRO 位置'hdfs:///user/hive/warehouse/cust' TBLPROPERTIES ('avro.schema.url'='hdfs:///PATH_TO_THE_COPIED_SCHEMA/cust.avsc');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 2020-08-05
    • 2015-10-24
    • 2011-04-22
    • 2014-10-11
    相关资源
    最近更新 更多