安装 spark-avro
Installing spark-avro
我正在尝试读取 pyspark 中的 avro 文件。
从 that spark-avro is the best way to do that but I can't figure out how to install that from their Github repo 中发现。没有可下载的 jar,我自己构建它吗?怎么样?
集群上的 Spark 1.6 (pyspark) 运行。我没有设置它,所以对配置了解不多,但我有 sudo 访问权限,所以我想我应该能够安装东西。但是机器不能直接上网所以需要手动复制和安装东西。
谢谢。
当 运行 pyspark
或 spark-submit
: https://github.com/databricks/spark-avro#with-spark-shell-or-spark-submit 时,您可以将 spark-avro
作为一个包添加,但这将需要驱动程序访问互联网(驱动程序将然后将所有文件分发给执行者)。
如果您无法通过驱动程序访问互联网,您将需要 spark-avro
自己构建一个 fat jar:
git clone https://github.com/databricks/spark-avro.git
cd spark-avro
# If you are using spark package other than newest,
# checkout appropriate tag based on table in spark-avro README,
# for example for spark 1.6:
# git checkout v2.0.1
./build/sbt assembly
然后用pyspark测试一下shell:
./bin/pyspark --jars ~/git/spark-avro/target/scala-2.11/spark-avro-assembly-3.1.0-SNAPSHOT.jar
>>> spark.range(10).write.format("com.databricks.spark.avro").save("/tmp/output")
>>> spark.read.format("com.databricks.spark.avro").load("/tmp/output").show()
+---+
| id|
+---+
| 7|
| 8|
| 9|
| 2|
| 3|
| 4|
| 0|
| 1|
| 5|
| 6|
+---+
应该可以用
wget https://repo1.maven.org/maven2/org/apache/spark/spark-avro_2.11/${SPARK_VERSION}/spark-avro_2.11-${SPARK_VERSION}.jar -P $SPARK_HOME/jars/
echo spark.executor.extraClassPath $SPARK_HOME/jars/spark-avro_2.11-$SPARK_VERSION.jar >> /usr/local/spark/conf/spark-defaults.conf
echo spark.driver.extraClassPath $SPARK_HOME/jars/spark-avro_2.11-$SPARK_VERSION.jar >> /usr/local/spark/conf/spark-defaults.conf
我正在尝试读取 pyspark 中的 avro 文件。
从
集群上的 Spark 1.6 (pyspark) 运行。我没有设置它,所以对配置了解不多,但我有 sudo 访问权限,所以我想我应该能够安装东西。但是机器不能直接上网所以需要手动复制和安装东西。
谢谢。
当 运行 pyspark
或 spark-submit
: https://github.com/databricks/spark-avro#with-spark-shell-or-spark-submit 时,您可以将 spark-avro
作为一个包添加,但这将需要驱动程序访问互联网(驱动程序将然后将所有文件分发给执行者)。
如果您无法通过驱动程序访问互联网,您将需要 spark-avro
自己构建一个 fat jar:
git clone https://github.com/databricks/spark-avro.git
cd spark-avro
# If you are using spark package other than newest,
# checkout appropriate tag based on table in spark-avro README,
# for example for spark 1.6:
# git checkout v2.0.1
./build/sbt assembly
然后用pyspark测试一下shell:
./bin/pyspark --jars ~/git/spark-avro/target/scala-2.11/spark-avro-assembly-3.1.0-SNAPSHOT.jar
>>> spark.range(10).write.format("com.databricks.spark.avro").save("/tmp/output")
>>> spark.read.format("com.databricks.spark.avro").load("/tmp/output").show()
+---+
| id|
+---+
| 7|
| 8|
| 9|
| 2|
| 3|
| 4|
| 0|
| 1|
| 5|
| 6|
+---+
应该可以用
wget https://repo1.maven.org/maven2/org/apache/spark/spark-avro_2.11/${SPARK_VERSION}/spark-avro_2.11-${SPARK_VERSION}.jar -P $SPARK_HOME/jars/
echo spark.executor.extraClassPath $SPARK_HOME/jars/spark-avro_2.11-$SPARK_VERSION.jar >> /usr/local/spark/conf/spark-defaults.conf
echo spark.driver.extraClassPath $SPARK_HOME/jars/spark-avro_2.11-$SPARK_VERSION.jar >> /usr/local/spark/conf/spark-defaults.conf