Kar*_*ikS 7 csv apache-spark pyspark jupyter-notebook
这个页面鼓励我尝试使用spark-csv在PySpark中读取.csv文件我发现了一些帖子,比如这个描述如何使用spark-csv
但我无法通过在启动时包含.jar文件或包扩展来初始化ipython实例,这可以通过spark-shell完成.
也就是说,而不是
ipython notebook --profile=pyspark
Run Code Online (Sandbox Code Playgroud)
我试过了
ipython notebook --profile=pyspark --packages com.databricks:spark-csv_2.10:1.0.3
Run Code Online (Sandbox Code Playgroud)
但它不受支持.
请指教.
zer*_*323 15
您可以简单地将其传递给PYSPARK_SUBMIT_ARGS变量.例如:
export PACKAGES="com.databricks:spark-csv_2.11:1.3.0"
export PYSPARK_SUBMIT_ARGS="--packages ${PACKAGES} pyspark-shell"
Run Code Online (Sandbox Code Playgroud)
在SparkContext/ SparkSession和相应的JVM启动之前,还可以在代码中动态设置这些属性:
packages = "com.databricks:spark-csv_2.11:1.3.0"
os.environ["PYSPARK_SUBMIT_ARGS"] = (
"--packages {0} pyspark-shell".format(packages)
)
Run Code Online (Sandbox Code Playgroud)
Dis*_*ver 10
我相信你也可以将它作为变量添加到你的spark-defaults.conf文件中.所以类似于:
spark.jars.packages com.databricks:spark-csv_2.10:1.3.0
Run Code Online (Sandbox Code Playgroud)
每次启动驱动程序时,这都会将spark-csv库加载到PySpark中.
显然,零的答案更灵活,因为您可以在导入PySpark包之前将这些行添加到PySpark应用程序中:
import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.databricks:spark-csv_2.10:1.3.0 pyspark-shell'
from pyspark import SparkContext, SparkConf
Run Code Online (Sandbox Code Playgroud)
这样,您只需导入脚本实际需要的包.