【发布时间】:2015-06-27 21:17:42
【问题描述】:
我正在使用 python 编写一个 spark 作业。但是,我需要阅读一大堆 avro 文件。
This 是我在 Spark 的示例文件夹中找到的最接近的解决方案。但是,您需要使用 spark-submit 提交此 python 脚本。在 spark-submit 的命令行中,您可以指定驱动程序类,在这种情况下,您所有的 avrokey、avrovalue 类都将被定位。
avro_rdd = sc.newAPIHadoopFile(
path,
"org.apache.avro.mapreduce.AvroKeyInputFormat",
"org.apache.avro.mapred.AvroKey",
"org.apache.hadoop.io.NullWritable",
keyConverter="org.apache.spark.examples.pythonconverters.AvroWrapperToJavaConverter",
conf=conf)
在我的情况下,我需要在 Python 脚本中运行所有内容,我尝试创建一个环境变量来包含 jar 文件,手指交叉 Python 会将 jar 添加到路径中,但显然不是,它给出我意外的类错误。
os.environ['SPARK_SUBMIT_CLASSPATH'] = "/opt/cloudera/parcels/CDH-5.1.0-1.cdh5.1.0.p0.53/lib/spark/examples/lib/spark-examples_2.10-1.0.0-cdh5.1.0.jar"
谁能帮助我如何在一个 python 脚本中读取 avro 文件?
【问题讨论】:
标签: python apache-spark avro pyspark