如何为Hive中的不同列指定不同的分隔符?

时间:2015-04-03 07:22:29

标签: hadoop hive

一行数据看起来像

"!Next?" (1994)                     Italy

我需要创建3列。

  1. ""
  2. 附带的电影名称
  3. ()
  4. 附带的发布日期
  5. 制作电影的国家/地区
  6. 我需要为每列指定不同的分隔符。

    一个重要的事情 - 我正在从文件/home/ap/Downloads/country.list

    加载数据

    如果可以解释一点点查询,那将是很好的。

    提前致谢...

1 个答案:

答案 0 :(得分:0)

使用此cmd

cat YOUR_FILE_HERE|sed 's/"\(.*\)"\s*(\(.*\))\s*\([^\s].*\)/\1^A\2^A\3/g' > OUTPUT_FILE

然后将此OUTPUT_FILE加载到您的hive表。

记住:

我在这里使用\001作为分隔符。如果您更改表默认字段终结符,请使用它来替换我的cmd中的^A。 此外,^Actrl-v输入,然后ctrl-a而不是^A输入。