Я пишу искровую работу с использованием Python. Однако мне нужно прочитать целую кучу файлов avro.
Это самое близкое решение, которое я нашел в папке примеров Spark. Тем не менее, вам нужно отправить этот скрипт на python, используя spark-submit. В командной строке 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, метод Cross Cross 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"
Может кто-нибудь помочь мне, как прочитать файл avro в одном скрипте Python?