将avro数据从sql server导入hdfs时,sqoop导入失败

kr98yfug  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(463)

我是avro新手,我正在尝试将avro格式的数据从sqlserver导入hdfs。
错误:org.kitesdk.data.datasetoperationexception:追加{“id”:“d22c2475”,“create_date”:“2020-08-22 14:34:06.0”失败,“修改日期”:“2020-08-22 14:34:06.0”}到parquetappender{path=job\u 1597813536070/mr/attent\u 1597813536070\u m\u000000\u 0/.d55262cf-e49b-4378-addc-0f85698efb47.parquet.tmp“>hdfs://nameservice1/tmp/schema/.temp/job_1597813536070/mr/attempt_1597813536070_m_000000_0/.d55262cf-e49b-4378-addc-0f85698efb47.parquet.tmp,schema={“type”:“记录”,“name”:“autogeneratedschema”,“doc”:“sqoop import of queryresult”,“fields”:[{“name”:“id”,“type”:[“null”,“string”],“default”:null,“columnname”:“id”,“sqltype”:“1”},{“name”:“create\u date”,“type”:[“null”,“long”],“default”:null,“columnname”:“create\u date”,“sqltype”:“93”},{“name”:“modified\u date”,“type”:[“null”,“long”],“default”:null,“columnname”:“modified\u date”,“sqltype”:“93”}],“tablename”:“queryresult”},filesystem=dfs[dfsclient[clientname=dfsclient\u attempt\u 1597813536070\u m\u000000\u 0\u 960843231\u 1,ugi=username(auth:simple)]],avroparquetwriter=Parquet地板.avro。avroparquetwriter@7b122839}原因:java.lang.classcastexception:java.lang.string不能转换为java.lang.number
表-创建表 “ticket” ( id 字符串, create_date 字符串, modified_date 字符串)行格式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.mapredparquetoutpformat'tblproperties('column\u stats\u 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“:”sqoop import of queryresult“,”fields“:[{”name“:”id“,”type“:[”null“,”string“,”default“:”null,“columnname“:”id“,”sqltype“:”1“},{”name“:”create\u date“,“type”:[“null”,“string”],“default”:null,“columnname”:“create_date”,“sqltype”:“93”},{“name”:“modified_date”,“type”:[“null”,“string”],“default”:null,“columnname”:“modified_date”,“sqltype”:“93”}],“tablename”:“queryresult”}

yyhrrdl8

yyhrrdl81#

我解决了这个问题。我的avro元数据文件有问题。我重新创建了它,并用下面的命令将它添加到配置单元表中。
alter table\u name set serdeproperties('avro.schema.url'='hdfs://user/hive/warehouse/schema.db/table_name/1.avsc');

相关问题