gpt4 book ai didi

hadoop - 有没有办法在将数据从 HIVE 移动到 ES 时跳过 ES 中的行插入?

转载 作者:可可西里 更新时间:2023-11-01 14:56:59 35 4
gpt4 key购买 nike

我正在尝试使用以下查询将数据(超过 3 亿行)从配置单元表复制到 Elasticsearch:-插入覆盖表 TableNameES select * from HiveTableName;

& 在插入一些行后我得到了这个异常。我知道这是因为 ES 中映射的数据类型不同...

Caused by: org.elasticsearch.hadoop.rest.EsHadoopInvalidRequest: Found unrecoverable error [xx.xx.xx.xx:9200] returned Bad Request(400) - [MapperParsingException[failed to parse [pctblack.pctblack_raw]]; nested: NumberFormatException[For input string: "(S)"]; ]; Bailing out..**

我想跳过插入那些给出错误的行,不仅这个异常可能是其他异常。

最佳答案

用一些数字替换“(S)”字符串。

insert overwrite table TableNameES select regexp_replace(regexp_replace(json_data,'"_id"','"id"'),'"\(S\)"','"0.0"') from HiveTableName; 

但这不是一个合适的解决方案,这将解决问题。

关于hadoop - 有没有办法在将数据从 HIVE 移动到 ES 时跳过 ES 中的行插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37909951/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com