Pyspark 安装spark avro
我正在尝试读取pyspark中的avro文件。 从spark avro发现这是最好的方法,但我不知道如何从他们的网站安装。没有可下载的jar,是我自己建的吗?怎么做 它是在集群上运行的Spark 1.6(pyspark)。我没有设置,所以对配置不太了解,但我有sudo访问权限,所以我想我应该可以安装一些东西。但是这台机器不能直接上网,所以需要手动复制并安装一些东西Pyspark 安装spark avro,pyspark,spark-avro,Pyspark,Spark Avro,我正在尝试读取pyspark中的avro文件。 从spark avro发现这是最好的方法,但我不知道如何从他们的网站安装。没有可下载的jar,是我自己建的吗?怎么做 它是在集群上运行的Spark 1.6(pyspark)。我没有设置,所以对配置不太了解,但我有sudo访问权限,所以我想我应该可以安装一些东西。但是这台机器不能直接上网,所以需要手动复制并安装一些东西 谢谢。您可以在运行pyspark或spark submit时将spark avro添加为一个包:但这需要在驱动程序上访问intern
谢谢。您可以在运行
pyspark
或spark submit
时将spark avro
添加为一个包:但这需要在驱动程序上访问internet(驱动程序随后将所有文件分发给执行者)
如果您无法访问驱动程序上的internet,则需要将spark avro
自己构建到一个胖罐子中:
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外壳对其进行测试:
./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
如何为spark avro构建胖jar?克隆
spark avro
存储库并运行build/sbt assembly
它说“尝试获取sbt我们尝试在本地下载sbt以构建/sbt-launch-0.13.11.jar失败。请从“在连接到internet的系统上构建fat jar”手动安装sbt。然后将文件复制到驱动程序并用--jars
启动spark。卡在获取org.scala-sbt sbt 0.13.11。。。正在下载https://repo1.maven.org/maven2/org/scala-lang/scala-library/2.10.6/scala-library-2.10.6.jar 很长一段时间以来。。。否则我的网络就没问题了