繁体   English   中英

将 AVRO 数据从 SQL Server 导入 HDFS 时 Sqoop 导入失败

[英]Sqoop Import failing while imporing AVRO data from SQL Server to HDFS

我是 AVRO 的新手,我正在尝试将 AVRO 格式的数据从 SQL Server 导入到 HDFS。

错误:org.kitesdk.data.DatasetOperationException:无法附加 {"id": "D22C2475", "create_date": "2020-08-22 14:34:06.0", "modified_date": "2020-08-22 14 :34:06.0"} 到 ParquetAppender{path=job_1597813536070/mr/attempt_1597813536070_m_000000_0/.d55262cf-e49b-4378-addc-0f857tm70mp3/0f8536070/mr/attempt_1597813536070_m_000000_0/.d55261尝试_1597813536070_m_000000_0/.d55262cf-e49b-4378-addc-0f85698efb47.parquet.tmp,模式={“类型”:“记录”,“名称”:“AutoGeneratedSchema”,“查询”,“导入”字段的“文档” :[{"name":"id","type":["null","string"],"default":null,"columnName":"id","sqlType":"1"},{" name":"create_date","type":["null","long"],"default":null,"columnName":"create_date","sqlType":"93"},{"name":" modified_date","type":["null","long"],"default":null,"columnName":"modified_date","sqlType":"93"}],"tableName":"QueryResult"},文件系统=DFS[DFSClient[clientName=DFSClient_attempt_1597813536070_m_000000_0_960843231_1, ugi=username (auth:SIMPLE)]], avroParquetWri ter=parquet.avro.AvroParquetWriter@7b122839} 由:java.lang.ClassCastException:java.lang.String 无法转换为 java.lang.Number

表 - 创建表“ticket”id字符串、 create_date字符串、 modified_date字符串) ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 存储为 INPUTFORMAT 'org.apache.hadoop.hive .ql.io.parquet.MapredParquetInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' TBLPROPERTIES ( 'COLUMN_STATS_ACCURATE'='true', 'avro.schema.url'='hdfs:// nameservice1/user/hive/warehouse/schema.db/ticket/.metadata/schemas/1.avsc', 'kite.compression.type'='snappy');

AVRO 文件元数据 - hdfs://nameservice1/user/hive/warehouse/schema.db/ticket/.metadata/schemas/1.avsc' { "type" : "record", "name" : "AutoGeneratedSchema", "doc " : "QueryResult 的 Sqoop 导入", "fields" : [ { "name" : "id", "type" : [ "null", "string" ], "default" : null, "columnName" : "id" , "sqlType" : "1" }, { "name" : "create_date", "type" : [ "null", "string" ], "default" : null, "columnName" : "create_date", "sqlType" :“93”},{“名称”:“修改日期”,“类型”:[“空”,“字符串”],“默认”:空,“列名”:“修改日期”,“sqlType”:“93” }], "tableName" : "查询结果" }

我解决了这个问题。 我的 AVRO 元数据文件存在一些问题。 我重新创建它并使用以下命令将其添加到 Hive 表中。

更改表 table_name 设置 serdeproperties ('avro.schema.url' = 'hdfs://user/hive/warehouse/schema.db/table_name/1.avsc');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM