使用lazy simple serde hive替换引号



你好,我正在处理许多文件,这些文件的数据中有引号,如下所示。

"ID"|"学生"|"年级"123"|"约翰"|"9.7"132"|"约翰尼"|"8.7"143"|"罗尼"|"8.17"

我想从数据中删除报价,你能告诉我怎么做吗?如果有的话,使用任何内置的服务器将会很有帮助。因为我正在处理许多这样的文件。

将这些数据加载到临时hive表中。然后在插入表时使用regex_replace()函数。

步骤:

  1. 将数据加载到具有类似模式的临时表中。
  2. 使用regex_replace()在最终表中插入覆盖。

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

更新:

对于许多文件。

  1. 定义temp表为外部表
  2. 将所有的源文件拷贝到hdfs目录下。使用regex_replace()在所需的表中插入覆盖。

最新更新