使用lazy simple serde配置单元替换引号

qyyhg6bp  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(269)

嗨,我正在处理许多文件,其中有引号的数据如下所示。
“id”|“student”|“grade”“123”|“john”|“9.7”“132”|“johny”|“8.7”“143”|“ronny”|“8.17”
我想从数据中删除引号,请告诉我怎么做。如果使用任何内置的serdes将是完全有帮助的。因为我正在处理许多这样的文件。

u0sqgete

u0sqgete1#

将此数据这样加载到临时配置单元表中。然后在插入到表中时使用regex\u replace()函数。
步骤:
将数据加载到具有类似模式的临时表中。
用regex\u replace()将overwrite插入到最后一个表中。

insert overwrite table select    regexp_replace(COLUMN_NAME_1,"\"",""),regexp_replace(COLUMN_NAME_2,"\"","") from temp_hive_table;

更新时间:
对于许多文件。
将临时表定义为外部表。
将所有源文件复制到此hdfs路径。
使用regex\u replace()将覆盖插入到所需的表中。
希望这个方法有用。

相关问题