有!我是Apache Spark的新手,需要帮助。 尝试使用本地Spark上下文读取本地.parquet文件:
SparkSession spark = SparkSession.builder()
.appName("parquetUtility")
.getOrCreate();
Dataset<Row> df = spark.read().parquet("/Users/file.parquet");
并且我收到“ java.lang.IllegalArgumentException:null”错误:
java.lang.IllegalArgumentException: null
at org.apache.xbean.asm5.ClassReader.<init>(Unknown Source) ~[xbean-asm5-shaded-4.4.jar:4.4]
at org.apache.xbean.asm5.ClassReader.<init>(Unknown Source) ~[xbean-asm5-shaded-4.4.jar:4.4]
at org.apache.xbean.asm5.ClassReader.<init>(Unknown Source) ~[xbean-asm5-shaded-4.4.jar:4.4]
at org.apache.spark.util.ClosureCleaner$.getClassReader(ClosureCleaner.scala:46) ~[spark-core_2.11-2.3.1.jar:2.3.1]
at org.apache.spark.util.FieldAccessFinder$$anon$3$$anonfun$visitMethodInsn$2.apply(ClosureCleaner.scala:449) ~[spark-core_2.11-2.3.1.jar:2.3.1]
at org.apache.spark.util.FieldAccessFinder$$anon$3$$anonfun$visitMethodInsn$2.apply(ClosureCleaner.scala:432) ~[spark-core_2.11-2.3.1.jar:2.3.1].....
我尝试读取.json文件,并且可以正常工作!但这不适用于我的.parquet。 我用Spark Parquet编写器创建的Parquet文件。
这是我的Spark配置:
@Bean
@Profile("local")
public SparkConf sparkConf(){
return new SparkConf()
.setMaster("local[*]")
.set("spark.executor.memory", "6G")
.set("spark.driver.memory", "6G")
.set("spark.sql.shuffle.partitions", "10")
.setAppName("parquetUtility");
}
感谢您的帮助
更新:此功能可在Windows和Debian OS上使用,但不适用于我的Mac OS High Sierra。