如何使用pyspark读取avro文件
How to read avro file using pyspark
我正在尝试在 jupyter notebook 中读取 avro 文件,但遇到了这个问题。
Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.avro.AvroFileFormat.DefaultSource
而且我似乎无法弄清楚如何从哪里获得这种依赖性。
import findspark
findspark.init()
import pyspark
from pyspark.sql import SparkSession
from pyspark.sql.types import *
spark = SparkSession.builder.appName("readavro").master("local").getOrCreate()
result = spark.read.format('com.databricks.spark.avro').load("file:///C:/Downloads/part-r-00000.avro")
确保将 org.apache.spark:spark-avro_2.12:2.4.5
jar 添加到类路径中。
由于 spark-avro 模块是外部的,因此 DataFrameReader 或 DataFrameWriter 中没有 .avro API。所以试试
result = spark.read.format('avro').load("file:///C:/Downloads/part-r-00000.avro")
包含 avro 依赖项
$ bin/spark-shell --packages com.databricks:spark-avro_2.12:2.4.5
我正在尝试在 jupyter notebook 中读取 avro 文件,但遇到了这个问题。
Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.avro.AvroFileFormat.DefaultSource
而且我似乎无法弄清楚如何从哪里获得这种依赖性。
import findspark
findspark.init()
import pyspark
from pyspark.sql import SparkSession
from pyspark.sql.types import *
spark = SparkSession.builder.appName("readavro").master("local").getOrCreate()
result = spark.read.format('com.databricks.spark.avro').load("file:///C:/Downloads/part-r-00000.avro")
确保将 org.apache.spark:spark-avro_2.12:2.4.5
jar 添加到类路径中。
由于 spark-avro 模块是外部的,因此 DataFrameReader 或 DataFrameWriter 中没有 .avro API。所以试试
result = spark.read.format('avro').load("file:///C:/Downloads/part-r-00000.avro")
包含 avro 依赖项
$ bin/spark-shell --packages com.databricks:spark-avro_2.12:2.4.5