hadoop - 使用多字符分隔符创建 HIVE 表

标签 hadoop hive

我想创建一个以多字符串字符作为分隔符的 HIVE 表,例如

CREATE EXTERNAL TABlE tableex(id INT, name STRING) 
ROW FORMAT delimited fields terminated by ','
LINES TERMINATED BY '\n' STORED AS TEXTFILE LOCATION '/user/myusername';

我想将分隔符作为多字符串,如“~*”。

最佳答案

FILELDS TERMINATED BY 不支持多字符定界符。最简单的方法是使用 RegexSerDe :

CREATE EXTERNAL TABlE tableex(id INT, name STRING) 
ROW FORMAT 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
  "input.regex" = "^(\\d+)~\\*(.*)$"
)
STORED AS TEXTFILE 
LOCATION '/user/myusername';

关于hadoop - 使用多字符分隔符创建 HIVE 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18931427/

相关文章:

hadoop - 可以在HIVE的同一查询中使用存储分区和分区吗?

mysql - 返回每个用户具有的不同值的 Hive 查询

sql - 提高 apache 配置单元的性能

hive - Apache Impala 中是否有相当于 Hive 的 'explode' 函数的函数?

python - 寻找最小数量的hadoop流python

xml - 当我要格式化 namenode 时,我收到错误提示 org.xml.sax.SAXParseException

hadoop - 如何使用 oozie.launcher.action.main.class 将参数传递给 Oozie 操作?

hadoop - Jenkins作为Hadoop Edge节点上的Job Server

hadoop - datanode显示死了,如何让它复活

apache-spark - 如何在使用 Spark 数据帧写入时自动计算 numRepartition