hadoop - 如何为Hive中的不同列指定其他定界符?

标签 hadoop hive

一行数据看起来像

"!Next?" (1994)                     Italy

我需要创建3列。
  • 附在""中的电影的名称
  • ()附带的发行日期
  • 制作电影的国家/地区

  • 我需要为每列指定不同的分隔符。

    重要的一件事-我正在从文件/home/ap/Downloads/country.list加载数据

    如果可以解释一下一些查询,那就太好了。

    提前致谢...

    最佳答案

    使用这个命令

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

    然后将此OUTPUT_FILE加载到您的配置单元表中。

    记得:

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

    关于hadoop - 如何为Hive中的不同列指定其他定界符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29427978/

    相关文章:

    java - Hadoop MapReduce处理来自HDFS的不同输入文件

    apache - 在 Ambari UI 中为自定义服务添加组合框

    sorting - MapReduce按值降序排序

    apache-spark - 使用 Spark 写入外部 Hadoop

    sql - 总和(案例)在 hive 中效率很低

    hadoop - 无法在 Ambari 服务器中安装 Impala

    hadoop - 如果我们使用Sqoop从MySql导入数据到HDFS,HDFS存储的文件格式是什么?

    apache-spark - SQLException上的sqlContext HiveDriver错误:不支持的方法

    hadoop - 重复创建和删除配置单元表的影响

    sql - Hive - Concat 字符串与行数据