我正在尝试使用 spark-shell 读取一个大的 avro 文件(2GB),但我收到了 stackoverflow 错误。
val newDataDF = spark.read.format("com.databricks.spark.avro").load("abc.avro")
java.lang.StackOverflowError
at com.databricks.spark.avro.SchemaConverters$.toSqlType(SchemaConverters.scala:71)
at com.databricks.spark.avro.SchemaConverters$.toSqlType(SchemaConverters.scala:81)
我试图增加驱动程序内存和执行程序内存,但我仍然遇到同样的错误。
./bin/spark-shell --packages com.databricks:spark-avro_2.11:3.1.0 --driver-memory 8G --executor-memory 8G
我怎样才能阅读这个文件?有没有办法对这个文件进行分区?