2016-08-01 124 views
0

我想從Zeppelin筆記本中讀取位於Amazon S3中的avro文件。我理解Databricks有一個很好的包spark-avro。爲了將這個jar文件引導到我的集羣並使其工作,我需要採取哪些步驟?引導Amazon EMR集羣的spark-avro jar

當我寫這在我的筆記本上, val df = sqlContext.read.avro("s3n://path_to_avro_files_in_one_bucket/")

我得到下面的錯誤 - <console>:34: error: value avro is not a member of org.apache.spark.sql.DataFrameReader

我有看this。我猜那裏發佈的解決方案不適用於最新版本的Amazon EMR。

如果有人能給我指針,那真的會有所幫助。

回答

0

下面是我如何關聯spark-avro依賴關係。此方法適用於關聯任何其他依賴關係以進行觸發。

  1. 確保您的火花版本與您的spark-avro兼容。你會發現依賴關係here的細節。

  2. 我把我的spark-avro文件放到我的S3存儲桶中。您可以使用hdfs或任何其他商店。

  3. 當啓動一個EMR集羣,添加以下JSON在配置方面, [{"classification":"spark-defaults", "properties":{"spark.files":"/path_to_spark-avro_jar_file", "spark.jars":"/path_to_spark-avro_jar_file"}, "configurations":[]}]

這是不是這樣做的唯一途徑。請參閱此link瞭解更多詳情。