在 Pyspark 中添加 python 外部库

2024-03-27

我正在使用 pyspark (1.6),我想使用 databricks:spark-csv 库。为此我尝试了不同的方法但没有成功

1-我尝试添加一个我下载的jarhttps://spark-packages.org/package/databricks/spark-csv https://spark-packages.org/package/databricks/spark-csv,然后运行

pyspark --jars THE_NAME_OF_THE_JAR
df = sqlContext.read.format('com.databricks:spark-csv').options(header='true', inferschema='true').load('/dlk/doaat/nsi_dev/utilisateur/referentiel/refecart.csv')

但得到这个错误:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
File "/usr/hdp/2.5.3.0-37/spark/python/pyspark/sql/readwriter.py", line 137, in load
return self._df(self._jreader.load(path))
 File "/usr/hdp/2.5.3.0-37/spark/python/lib/py4j-0.9-src.zip/py4j/java_gateway.py", line 813, in __call__
 File "/usr/hdp/2.5.3.0-37/spark/python/pyspark/sql/utils.py", line 45, in deco
return f(*a, **kw)
 File "/usr/hdp/2.5.3.0-37/spark/python/lib/py4j-0.9-src.zip/py4j/protocol.py", line 308, in get_return_value
py4j.protocol.Py4JJavaError: An error occurred while calling o53.load.
: java.lang.ClassNotFoundException: Failed to find data source: com.databricks:spark-csv. Please find packages at http://spark-packages.org
    at org.apache.spark.sql.execution.datasources.ResolvedDataSource$.lookupDataSource(ResolvedDataSource.scala:77)
    at org.apache.spark.sql.execution.datasources.ResolvedDataSource$.apply(ResolvedDataSource.scala:102)
    at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:119)
    at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:109)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:231)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:381)
    at py4j.Gateway.invoke(Gateway.java:259)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:209)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.databricks:spark-csv.DefaultSource
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.apache.spark.sql.execution.datasources.ResolvedDataSource$$anonfun$4$$anonfun$apply$1.apply(ResolvedDataSource.scala:62)
    at org.apache.spark.sql.execution.datasources.ResolvedDataSource$$anonfun$4$$anonfun$apply$1.apply(ResolvedDataSource.scala:62)
    at scala.util.Try$.apply(Try.scala:161)
    at org.apache.spark.sql.execution.datasources.ResolvedDataSource$$anonfun$4.apply(ResolvedDataSource.scala:62)
    at org.apache.spark.sql.execution.datasources.ResolvedDataSource$$anonfun$4.apply(ResolvedDataSource.scala:62)
    at scala.util.Try.orElse(Try.scala:82)
    at org.apache.spark.sql.execution.datasources.ResolvedDataSource$.lookupDataSource(ResolvedDataSource.scala:62)
    ... 14 more

2-第二种方式: 我从以下位置下载了一个库 zip 文件https://spark-packages.org/package/databricks/spark-csv https://spark-packages.org/package/databricks/spark-csv.

并运行:

/bin/pyspark --py-files spark-csv-1ae649285462df1af1411593e2abe589de2d704c.zip
df = sqlContext.read.format('com.databricks:spark-csv').options(header='true', inferschema='true').load('/dlk/doaat/nsi_dev/utilisateur/referentiel/refecart.csv')

但遇到了同样的错误。 3-第三种方式:

 pyspark --packages com.databricks:spark-csv_2.11:1.5.0

但它也不起作用,我得到了这个:

Python 2.7.13 |Anaconda 4.3.0 (64-bit)| (default, Dec 20 2016, 23:09:15)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Anaconda is brought to you by Continuum Analytics.
Please check out: http://continuum.io/thanks and https://anaconda.org
Ivy Default Cache set to: /home/F18076/.ivy2/cache
The jars for the packages stored in: /home/F18076/.ivy2/jars
:: loading settings :: url = jar:file:/usr/hdp/2.5.3.0-37/spark/lib/spark-assembly-1.6.2.2.5.3.0-37-hadoop2.7.3.2.5.3.0-37.jar!/org/apache/ivy/core/settings/ivysettings.xml
com.databricks#spark-csv_2.11 added as a dependency
:: resolving dependencies :: org.apache.spark#spark-submit-parent;1.0
    confs: [default]

Spark 1.6 包含 Spark-csv 模块,因此您不需要任何外部库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Pyspark 中添加 python 外部库 的相关文章

随机推荐

  • 小阴谋家 - 从哪里开始?

    我刚刚打开 小阴谋家 我觉得我错过了一些东西 第一个问题问 这是一个原子吗 但我没有看到原子是什么的任何定义 我想我可以通过问题的答案推导出什么是原子 但随后它继续问 l 的 car 是什么 l 的 cdr 是什么 我不知道在问什么 这本书
  • AngularJS:工厂 $http 服务

    我试图理解 Angular 中工厂和服务的概念 我在控制器下有以下代码 init function init http post services type getSource ID TP001 success function data
  • Java:具有重复键的 Json 可以使用 Jackson 进行映射

    我有一个具有相同键但不同值的 json 文件 如下所示 domains A name a type a1 B name r type g1 A name b type b1 这是来自外部系统 如何转换json 到 java 映射对象并访问不
  • JQuery 如何 .find() 不区分大小写?

  • Fabric.loadSVGFromString 导致结果扭曲

    我用 inkscape 编辑了 SVG
  • 如何在xtable表格中放置颜色间距?

    如何在xtable表格中放置颜色间距 我使用以下说明生成表格 test table lt xtable summary test caption test floating FALSE align test table lt c l pri
  • DataGridView 中明显的内存泄漏

    如何强制 DataGridView 释放其对绑定 DataSet 的引用 我们有一个相当大的数据集显示在 DataGridView 中 并注意到 DataGridView 关闭后资源没有被释放 如果用户重复查看此报告 他们最终会收到内存不足
  • 我在 intellij 中的 jar 资源文件是只读的,我需要编辑它们

    我已经尝试了几个小时来编辑我用作库的 jar 中的 java 文件 但没有成功 我已将资源标记为内容根和源根 但我仍然无法编辑 jar 中的代码 该项目编译并运行正确 但我需要对资源文件进行调整 但不能 我尝试了所有我能想到的项目结构 难道
  • kotlin如何通过delegate使用this来实例化viewmodel

    我正在阅读 google android 架构示例并遇到了这个 有人可以向我解释这个代表是如何工作的吗 private val viewModel by viewModels
  • 如何在C++中“返回一个对象”?

    我知道这个标题听起来很熟悉 因为有很多类似的问题 但我要求问题的不同方面 我知道将东西放在堆栈上和将它们放在堆上之间的区别 在Java中我总是可以返回对 本地 对象的引用 public Thing calculateThing Thing
  • Mono 可以在 rdlc 中创建/运行报告吗?

    我从未使用过 mono 很好奇 mono 是否可以创建 运行 rdlc 报告 我正在寻找实现的是一个单声道 asp net mvc 应用程序 用于使用 rdlc 创建报告并导出为 pdf 单声道可以吗 有一些开源项目尝试在 NET 中实现
  • twitter 没有重定向到 android 应用程序中的回调 url

    我的目标是允许使用 twitter4j 登录 Twitter 我用这个作为参考 https github com Sheikh Aman Android Samples blob master 1 20Sign inWithTwitterT
  • Jsoup:忽略 SSL 错误

    我正在尝试下载https www deviantart com https www deviantart com使用 Jsoup v1 10 3 以及validateTLSCertificates false Java 8 已安装 Unli
  • 使用 OpenTok 暂停视频通话

    我一直在研究 webRTC 平台 发现 OpenTok 似乎提供了最可定制的功能 在深入研究之前 我想确保它可以满足一项关键要求 在两个用户 A 和 B 之间的 1 1 视频通话期间 我希望其中一个用户 让我们与用户 A 一起 能够接收来自
  • Django - 无法获取 highchart 来显示数据

    我尝试按照以下解决方案在 Highchart 的帮助下显示图表 通过 JSON 将 Django 数据库查询集传递到 Highcharts https stackoverflow com questions 27810087 passing
  • 在 Tensorflow 中训练简单模型 GPU 比 CPU 慢

    我在 Tensorflow 中设置了一个简单的线性回归问题 并在 1 13 1 中使用 Tensorflow CPU 和 GPU 创建了简单的 conda 环境 在 NVIDIA Quadro P600 的后端使用 CUDA 10 0 然而
  • 以编程方式与证书颁发机构通信

    我以编程方式处理证书并与证书颁发机构进行通信 我一直在 Windows 2008R2 上使用 C 处理 CertClient 和 CertEnroll COM 对象 我可以生成请求并从 CA 获取证书 我从这个例子开始 http blogs
  • 为什么 Vim 会在文件末尾添加新行?

    我经常使用 Wordpress 有时我会临时更改 Wordpress 核心文件 以便了解正在发生的情况 尤其是在调试时 今天我有一个小小的惊喜 当我准备将更改提交到 git 存储库时 我注意到git status正在将 WordPress
  • AggregateItemReader 的位置和用例

    附录在这里 http docs spring io spring batch trunk reference html listOfReadersAndWriters html列出读者AggregateItemReader但我无法在任何 S
  • 在 Pyspark 中添加 python 外部库

    我正在使用 pyspark 1 6 我想使用 databricks spark csv 库 为此我尝试了不同的方法但没有成功 1 我尝试添加一个我下载的jarhttps spark packages org package databric