有没有办法更改配置单元查询的默认定界符

时间:2019-02-07 16:42:20

标签: hive header hiveql delimiter

我们通过腻子访问蜂巢,结果将显示,列之间用空格(\ 001)隔开

如果数据为空,并且表中的列数很大,那么很难找出哪些列为空。

是否有一个配置单元属性,用于将分隔符更改为其他字符。

当前,我正在使用concat函数添加定界符,但想知道是否有简便的方法。

1 个答案:

答案 0 :(得分:0)

如果使用FIELED TERMINATED BY属性指定,CTAS(创建表为select的表)和Insert Select语句可以使用不同的分隔符将文件写入系统。

insert overwrite local directory './test' 
row format delimited 
FIELDS TERMINATED BY ',' 
select * from src ;

如果要在Hive CLI上执行此操作并将数据写入那里,则可以使用sed。例如。

hive -e 'select * from my_table' | sed 's/[\t]/,/g'  > output.txt

Hive的JIRA问题已经关闭,但说明中有很好的有用信息。 https://issues.apache.org/jira/browse/HIVE-3682

以下是文档中的有用资源链接: Writing data to File