hadoop - 如何获取 hdfs 中的 hive 表输出或文本文件,在 hdfs 上创建了 .CSV 格式的 hive 表。

标签 hadoop hive hiveql

所以我正在处理的集群存在一种情况。什么都不能从集群中取出到 linux box。

建表文件为序列文件格式或文本格式。

我需要将这些文件更改为 CSV 格式而不将它们输出到 linux box,而且我可以从现有表创建表,如果可能的话可以将其存储为 CSV 文件。 (我不确定我是否能做到)。

我已经尝试了很多东西..但是除非我把它输出到 linux box,否则做不到。感谢您的帮助。

最佳答案

您可以像这样创建另一个配置单元表:

CREATE TABLE hivetable_csv ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n' as 
select * from hivetable;

然后将表内容复制到新目录

hadoop fs -cat /user/hive/warehouse/csv_dump/* | hadoop fs -put - /user/username/hivetable.csv

或者,你也可以试试

hadoop fs -cp

关于hadoop - 如何获取 hdfs 中的 hive 表输出或文本文件,在 hdfs 上创建了 .CSV 格式的 hive 表。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31443015/

相关文章:

hadoop - 通过管道将多个文件传输到 HDFS

java - 本地运行的 Hive 包含 LZO 的 native 库

scala - Spark HWC 无法写入现有表

hadoop - 使用子查询连接 HIVE 中的两个表

hadoop - Hadoop的最佳配置?

python - 使用 MRJob 更改 Mapreduce 中间输出位置

oracle - 如何在 hive 中实现regexp_substr?

apache-spark - 在 Spark 2.4.0 中使用 spark.sql 的 Hive 表锁定信息抛出错误

hadoop - 确定配置单元表中的存储桶数?

regex - 使用空格分隔符使用 hue 界面创建 Hive 表