我已经从一个从Mongo DB导出的tweets json文件创建了一个外部Hive表。每当我从配置单元表中选择多个列时,检索到的结果都没有很好地格式化。某些列为空或NULL(即使我以特定值为条件),并且某些数据显示在错误的列中。
我认为这种情况正在发生,因为文本中有逗号。当我尝试查询hive表而不选择推文的文本时,结果就有意义了。但我不知道如何解决这个问题。
任何人都知道如何解决这个问题?
最佳,
答案 0 :(得分:0)
为什么不尝试格式化输出?像这样的东西 -
SELECT
CONCAT(COALESCE(COL1,''),
'|', COALESCE(COL2,''),
'|', COALESCE(COL3,''),
'|', COALESCE(COL4,''),
'|', COALESCE(COL5,''),
'|', COALESCE(COL6,''),
'|', COALESCE(COL7,'')) as tweetsout
FROM (
SELECT COL1, COL2, COL3, COL4, COL5, COL6, COL7
FROM TWEETS
) TOUT
这将为您提供由管道分隔的输出,而不是标准制表符分隔的输出。
答案 1 :(得分:0)
在不知道您使用的确切create table
命令的情况下很难判断......
如果输入数据包含表分隔符,通常会错误地解析表。例如,输入数据库中的某些推文可能包含\n
,它可能是您创建的配置单元表中的行分隔符。