当前位置: 首页 > 知识库问答 >
问题:

将镶木地板转换为 CSV 格式

姜鸿畴
2023-03-14

我的 hdfs 中有 Parquet 文件。我想将这些镶木地板文件转换为csv格式

hadoop fs -text /user/Current_Data/partitioned_key=MEDIA/000000_0  > /home/oozie-coordinator-workflows/quality_report/media.csv

hadoop fs -copyToLocal /user/Current_Data/partitioned_key=MEDIA/000000_0 /home/oozie-coordinator-workflows/quality_report/media1.csv

共有1个答案

柴华灿
2023-03-14

您所做的将不起作用,您只是读取和写入拼花数据,而不是转换。

您可以使用spark或hive/impala来完成,下面是spark中的解释。

火花:

阅读拼花文件:

df=spark.read.parquet("/user/Current_Data/partitioned_key=MEDIA/")

写给HDFS:

df.write.csv("home/oozie-coordinator-workflows/quality_report/media1.csv")

在这里查看上面的更多信息。

蜂巢:

CREATE TABLE test ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' STORED AS AVRO TBLPROPERTIES ('avro.schema.url'='myHost/myAvroSchema.avsc'); 

CREATE EXTERNAL TABLE parquet_test LIKE test STORED AS PARQUET LOCATION 'hdfs:///user/Current_Data/partitioned_key=MEDIA/';

有了表后,您可以使用以下命令通过beeline/hive创建一个CSV文件。

beeline -u 'jdbc:hive2://[databaseaddress]' --outputformat=csv2 -e "select * from parquet_test" > /local/path/toTheFile.csv

查看以下两个链接以获得更多解释。

动态创建带有Avro模式的Hive外部表

在直线配置单元中导出为csv

 类似资料:
  • 我正在尝试使用AWS胶水将大约1.5 GB的Gzip CSV转换为拼花地板。下面的脚本是自动生成的粘合作业,用于完成该任务。这似乎需要很长时间(我已经等了10个dpu好几个小时了,从来没有看到它结束或产生任何输出数据) 我想知道是否有人有任何经验将1.5 GB GZIPPED CSV转换为镶木地板-是否有更好的方法来完成此转换? 我有TB的数据要转换。值得关注的是,转换GBs似乎需要很长时间。 我

  • 我正在使用AWS S3、Glue和Athena进行以下设置: S3级-- 我的原始数据作为CSV文件存储在S3上。我正在使用Glue进行ETL,并使用Athena查询数据。 因为我使用的是雅典娜,所以我想将CSV文件转换为拼花。我现在正在用AWS胶水来做这个。这是我当前使用的流程: 运行爬虫读取CSV文件并填充数据目录 胶水作业一次只允许我转换一个表。如果我有很多CSV文件,这个过程很快就变得无法

  • 我正在尝试将存储在HDFS(100Gbs)上的一堆多部分avro文件转换为拼花文件(保留所有数据) Hive可以使用以下命令将avro文件作为外部表读取: 但是当我试图设计一张拼花桌时: 它会抛出一个错误: 失败:执行错误,从org.apache.hadoop.hive.ql.exec.DDLTask返回代码1。java.lang.UnsupportedOperationException:未知字

  • 我有一个数据帧,它是由运行特定日期的每日批处理创建的,然后保存在HDFS(Azure Data Lake Gen 2)中。 它是用这样的东西保存的 如您所见,我没有对数据帧进行分区,因为它只包含一个日期。 例如,第一天的第一个文件将存储在文件夹中 交易/2019/08/25 然后第二天,它就会在文件夹里 贸易/2019/08/26 问题是,当所有数据都放好后,日期上的过滤器谓词是否仍会被按下,HD

  • 有没有可能让粘合作业将JSON表重新分类为拼花,而不需要另一个爬虫来抓取拼花文件? 当前设置: 分区S3 bucket中的JSON文件每天爬网一次 我必须相信有一种方法可以在没有另一个爬虫的情况下转换表分类(但我以前被AWS烧伤过)。非常感谢任何帮助!

  • 我无法使用镶木地板文件将列的类型从更改为。 使用: 改变表DATABASE.TABLE改变COL INT(从字符串到int) 或 < code >更改表数据库。表格更改列列字符串(从int到string) 读取数据时产生错误: 文件x的“db.table.col”列具有不兼容的拼花架构。列类型:INT,拼花模式:可选byte_array col[i:1 d:1 r:0] 读了这个留档,我明白: T