Nar*_*esh 2 dataframe apache-spark apache-spark-sql
以下代码从 parquet 文件中读取 Spark DataFrame 并写入另一个 parquet 文件。将 DataFrame 写入新 Parquet 文件后,ArrayType DataType 中的 Nullable 字段发生更改。
代码:
SparkConf sparkConf = new SparkConf();
String master = "local[2]";
sparkConf.setMaster(master);
sparkConf.setAppName("Local Spark Test");
JavaSparkContext sparkContext = new JavaSparkContext(new SparkContext(sparkConf));
SQLContext sqc = new SQLContext(sparkContext);
DataFrame dataFrame = sqc.read().parquet("src/test/resources/users.parquet");
StructField[] fields = dataFrame.schema().fields();
System.out.println(fields[2].dataType());
dataFrame.write().mode(SaveMode.Overwrite).parquet("src/test/resources/users1.parquet");
DataFrame dataFrame1 = sqc.read().parquet("src/test/resources/users1.parquet");
StructField [] fields1 = dataFrame1.schema().fields();
System.out.println(fields1[2].dataType());
Run Code Online (Sandbox Code Playgroud)
输出:
ArrayType(IntegerType,false)
ArrayType(IntegerType,true)
Run Code Online (Sandbox Code Playgroud)
Spark 版本为:1.6.2
| 归档时间: |
|
| 查看次数: |
1516 次 |
| 最近记录: |