Tôi đang viết một công việc về tia lửa bằng cách sử dụng python. Tuy nhiên, tôi cần phải đọc trong một loạt các tập tin avro.Cách đọc tệp Avro trong PySpark
This là giải pháp gần nhất mà tôi đã tìm thấy trong thư mục mẫu của Spark. Tuy nhiên, bạn cần phải gửi kịch bản python này bằng cách sử dụng tia lửa gửi. Trong dòng lệnh của spark-submit, bạn có thể chỉ định lớp trình điều khiển, trong trường hợp đó, tất cả lớp avrokey, avrovalue của bạn sẽ được định vị.
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)
Trong trường hợp của tôi, tôi cần phải chạy tất cả mọi thứ trong kịch bản Python, tôi đã cố gắng để tạo ra một biến môi trường bao gồm các tập tin jar, ngón tay chéo Python sẽ thêm jar vào con đường nhưng rõ ràng nó không phải là , nó cho tôi lỗi không mong muốn.
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"
Mọi người có thể giúp tôi đọc tệp avro trong một tập lệnh python không?