dev*_*v ツ 6 apache-spark apache-spark-sql spark-dataframe
我能把它写进去
ORCPARQUET
直接和
TEXTFILE
AVRO 使用databricks的其他依赖项.
<dependency>
<groupId>com.databricks</groupId>
<artifactId>spark-csv_2.10</artifactId>
<version>1.5.0</version>
</dependency>
<dependency>
<groupId>com.databricks</groupId>
<artifactId>spark-avro_2.10</artifactId>
<version>2.0.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
示例代码:
SparkContext sc = new SparkContext(conf);
HiveContext hc = new HiveContext(sc);
DataFrame df = hc.table(hiveTableName);
df.printSchema();
DataFrameWriter writer = df.repartition(1).write();
if ("ORC".equalsIgnoreCase(hdfsFileFormat)) {
writer.orc(outputHdfsFile);
} else if ("PARQUET".equalsIgnoreCase(hdfsFileFormat)) {
writer.parquet(outputHdfsFile);
} else if ("TEXTFILE".equalsIgnoreCase(hdfsFileFormat)) {
writer.format("com.databricks.spark.csv").option("header", "true").save(outputHdfsFile);
} else if ("AVRO".equalsIgnoreCase(hdfsFileFormat)) {
writer.format("com.databricks.spark.avro").save(outputHdfsFile);
}
Run Code Online (Sandbox Code Playgroud)
有没有办法将数据帧写入hadoop SequenceFile和RCFile?
您可以使用将序列化对象void saveAsObjectFile(String path)另存RDD为 SequenceFile。因此,在您的情况下,您必须RDD从以下位置检索DataFrame:
JavaRDD<Row> rdd = df.javaRDD;
rdd.saveAsObjectFile(outputHdfsFile);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1012 次 |
| 最近记录: |