hadoop - 如何将序列文件转换为拼花格式

标签 hadoop hive pyspark presto

我有一个需要以PARQUET格式创建的HIVE表(测试)。我将使用一堆SEQUENCE文件来创建并插入到表中。

创建表后,有没有办法转换为PARQUET?我的意思是说我知道我们可以做到

CREATE TABLE default.test( user_id STRING, location STRING) 
PARTITIONED BY ( dt INT ) STORED AS PARQUET

首先创建表本身。但是,在我的情况下,我被迫首先使用SEQUENCE文件创建表,因为它是我必须开始使用的格式,并且不能直接转换为PARQUET。
创建表并插入数据后,有什么方法可以转换成 Parquet 吗?

最佳答案

要将表单序列文件转换为Parquet,您需要将数据(CTAS)加载到新表中。

这个问题被标记为presto,所以我为此给你Presto syntax。我包括分区,因为问题中的示例包含分区。

CREATE TABLE test_parquet WITH(format='PARQUET', partitioned_by=ARRAY['dt']) AS
SELECT * FROM test_sequencefile;

关于hadoop - 如何将序列文件转换为拼花格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58314902/

相关文章:

hadoop - 在 HIVE QL 的表中添加一列

hadoop - 识别配置单元表中缺失的分区

scala - 由 spark 编写的 Parquet 文件中的 Athena/Hive 时间戳

Python Spark 如何使用 RDD API 按组查找累计和

hadoop - Hive 与 Hbase 集成 null

hadoop - mapreduce 程序输出重复?

azure - pyspark分区为每个分区创建一个额外的空文件

apache-spark - pyspark.sql.utils.AnalysisException : Column ambiguous but no duplicate column names

格式化节点时Hadoop unknownhostexception

mysql - Hive count(*) 比实际的 SQL 表多显示一行