所以,问题在于,对于非常大的表,hive需要花费大量时间来向您显示表的某些行。例如,
select * from table limit 1000;
对于十亿记录表,可能需要20分钟。我认为只是查看表的数据文件配置单元存储可能要快得多。我可以使用 -
来做到这一点hadoop fs -cat hdfs://ipAddr/mnt/hive/<path to one of the table files> | head
问题是这些行显示为一条没有明显分隔符的大行。因此很难判断一列何时结束而另一列何时开始。现在,这些文件中必须有一个用于分隔列的分隔符,只是因为某种原因cat无法看到它。有没有办法用某种可见的分隔符来查看数据行?
答案 0 :(得分:2)
默认情况下,Hive使用ctrl-A作为分隔符(字符1),所以我建议你用tab,逗号等代替它:
hadoop fs -cat hdfs://ipAddr/mnt/hive/<path> | tr '\001' '\t' | head