Men*_*kes 2 csv apache-spark pyspark apache-zeppelin
我在AWS上运行带有火花簇的EMR.Spark版本是1.6
运行以下命令时:
proxy = sqlContext.read.load("/user/zeppelin/ProxyRaw.csv",
format="com.databricks.spark.csv",
header="true",
inferSchema="true")
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Py4JJavaError:调用o162.load时发生错误.:java.lang.ClassNotFoundException:无法找到数据源:com.databricks.spark.csv.请在http://spark-packages.org 上找到包 org.apache.spark.sql.execution.datasources.ResolvedDataSource $ .lookupDataSource(ResolvedDataSource.scala:77)
我怎么解决这个问题?我假设我应该添加一个包但是如何安装它在哪里?
在Zeppelin中添加包的方法有很多种:
其中之一是实际更改conf/zeppelin-env.sh配置文件,将您需要的软件包添加com.databricks:spark-csv_2.10:1.4.0到提交选项中,例如,在Zeppelin使用spark-submit引擎盖下的命令时:
export SPARK_SUBMIT_OPTIONS="--packages com.databricks:spark-csv_2.10:1.4.0"
Run Code Online (Sandbox Code Playgroud)但是,假设您实际上没有访问这些配置.然后,您可以通过%dep解释器使用动态依赖关系加载(不建议使用):
%dep
z.load("com.databricks:spark-csv_2.10:1.4.0")
Run Code Online (Sandbox Code Playgroud)
这将要求您在启动或重新启动解释器之前加载依赖项.
另一种方法是通过解释器依赖关系管理器添加所需的依赖关系,如以下链接中所述:解释器的依赖关系管理.