如何使用Apache Spark将JSON文件转换为Parquet格式?

10

我是新手使用Apache Spark 1.3.1。如何将JSON文件转换为Parquet?


你也可以使用Apache Drill(可能更容易设置),你可以通过一行SQL将本地文件系统中的JSON转换为HDFS Parquet:“CREATE TABLE dfs.drill./test5/ AS (SELECT * FROM dfs.gen./2016/10/*/*.json e);”,如果你感兴趣 => https://drill.apache.org/docs/parquet-format/. - Thomas Decaux
1个回答

19

Spark 1.4及更高版本

您可以使用SparkSQL将JSON文件读入DataFrame,然后将DataFrame写入parquet文件。

val df = sqlContext.read.json("path/to/json/file")
df.write.parquet("path/to/parquet/file")
或者
df.save("path/to/parquet/file", "parquet")

点击此处此处查看示例和更多细节。

Spark 1.3.1

val df = sqlContext.jsonFile("path/to/json/file")
df.saveAsParquetFile("path/to/parquet/file")

与Windows和Spark 1.3.1相关的问题

在Windows上将DataFrame保存为parquet文件时,会抛出java.lang.NullPointerException错误,如此处所述。

在这种情况下,请考虑升级到更新的Spark版本。


@eddard.stark 我已更新我的答案,包括Spark 1.3.1。 - Rami
尝试保存为Parquet文件时出现了NullPointerException。 - odbhut.shei.chhele
你是在Spark Shell上尝试还是在某个IDE上? - Rami
我正在使用spark-shell。 - odbhut.shei.chhele
我正在 bin 文件夹内工作。这是个问题吗? - odbhut.shei.chhele
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接