PySpark java.io.IOException:方案没有文件系统:https

2023-12-08

我正在使用本地窗口并尝试加载XML在 python 上使用以下代码的文件,我遇到了这个错误,有谁知道如何解决它,

这是代码

df1 = sqlContext.read.format("xml").options(rowTag="IRS990EZ").load("https://irs-form-990.s3.amazonaws.com/201611339349202661_public.xml")

这就是错误

Py4JJavaError                             Traceback (most recent call last)
<ipython-input-7-4832eb48a4aa> in <module>()
----> 1 df1 = sqlContext.read.format("xml").options(rowTag="IRS990EZ").load("https://irs-form-990.s3.amazonaws.com/201611339349202661_public.xml")

C:\SPARK_HOME\spark-2.2.0-bin-hadoop2.7\python\pyspark\sql\readwriter.py in load(self, path, format, schema, **options)
    157         self.options(**options)
    158         if isinstance(path, basestring):
--> 159             return self._df(self._jreader.load(path))
    160         elif path is not None:
    161             if type(path) != list:

C:\SPARK_HOME\spark-2.2.0-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip\py4j\java_gateway.py in __call__(self, *args)
   1131         answer = self.gateway_client.send_command(command)
   1132         return_value = get_return_value(
-> 1133             answer, self.gateway_client, self.target_id, self.name)
   1134 
   1135         for temp_arg in temp_args:

C:\SPARK_HOME\spark-2.2.0-bin-hadoop2.7\python\pyspark\sql\utils.py in deco(*a, **kw)
     61     def deco(*a, **kw):
     62         try:
---> 63             return f(*a, **kw)
     64         except py4j.protocol.Py4JJavaError as e:
     65             s = e.java_exception.toString()

C:\SPARK_HOME\spark-2.2.0-bin-hadoop2.7\python\lib\py4j-0.10.4-src.zip\py4j\protocol.py in get_return_value(answer, gateway_client, target_id, name)
    317                 raise Py4JJavaError(
    318                     "An error occurred while calling {0}{1}{2}.\n".
--> 319                     format(target_id, ".", name), value)
    320             else:
    321                 raise Py4JError(

Py4JJavaError: An error occurred while calling o38.load.
: java.io.IOException: No FileSystem for scheme: https
    at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2660)
    at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2667)
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)
    at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2703)
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2685)
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:373)
    at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295)
    at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.setInputPaths(FileInputFormat.java:500)
    at org.apache.hadoop.mapreduce.lib.input.FileInputFormat.setInputPaths(FileInputFormat.java:469)
    at org.apache.spark.SparkContext$$anonfun$newAPIHadoopFile$2.apply(SparkContext.scala:1160)
    at org.apache.spark.SparkContext$$anonfun$newAPIHadoopFile$2.apply(SparkContext.scala:1148)
    at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
    at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
    at org.apache.spark.SparkContext.withScope(SparkContext.scala:701)
    at org.apache.spark.SparkContext.newAPIHadoopFile(SparkContext.scala:1148)
    at com.databricks.spark.xml.util.XmlFile$.withCharset(XmlFile.scala:46)
    at com.databricks.spark.xml.DefaultSource$$anonfun$createRelation$1.apply(DefaultSource.scala:62)
    at com.databricks.spark.xml.DefaultSource$$anonfun$createRelation$1.apply(DefaultSource.scala:62)
    at com.databricks.spark.xml.XmlRelation$$anonfun$1.apply(XmlRelation.scala:47)
    at com.databricks.spark.xml.XmlRelation$$anonfun$1.apply(XmlRelation.scala:46)
    at scala.Option.getOrElse(Option.scala:121)
    at com.databricks.spark.xml.XmlRelation.<init>(XmlRelation.scala:45)
    at com.databricks.spark.xml.DefaultSource.createRelation(DefaultSource.scala:65)
    at com.databricks.spark.xml.DefaultSource.createRelation(DefaultSource.scala:43)
    at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:306)
    at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:178)
    at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:156)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:244)
    at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:357)
    at py4j.Gateway.invoke(Gateway.java:280)
    at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:132)
    at py4j.commands.CallCommand.execute(CallCommand.java:79)
    at py4j.GatewayConnection.run(GatewayConnection.java:214)
    at java.lang.Thread.run(Unknown Source)

不知何故 pyspark 无法加载 http 或 https,我的一位同事找到了这个问题的答案,所以这里是解决方案,

在创建spark上下文和sql上下文之前我们需要加载这两行代码

import os
os.environ['PYSPARK_SUBMIT_ARGS'] = '--packages com.databricks:spark-xml_2.11:0.4.1 pyspark-shell'

创建sparkcontext和sqlcontext后sc = pyspark.SparkContext.getOrCreate and sqlContext = SQLContext(sc)

使用以下命令将 http 或 https url 添加到 sc 中sc.addFile(url)

Data_XMLFile = sqlContext.read.format("xml").options(rowTag="anytaghere").load(pyspark.SparkFiles.get("*_public.xml")).coalesce(10).cache()

这个解决方案对我有用

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

PySpark java.io.IOException:方案没有文件系统:https 的相关文章

随机推荐

  • 如何在 Three.js 中从 3D 点创建 3D 三次贝塞尔曲线三角形?

    下列的这个话题 我试图生成一个 3D 弯曲三角形作为 NURBS 曲面 但我不明白如何设置 3D 点来做到这一点 这是当前的实现 var edges this getEdges An edge is a line following 4 d
  • 如何保持引导列大小相同,以便它们正确对齐?

    我正在构建一个带有引导列的简单网站 但我希望它们保持相同的高度 因为从现在开始 如果行中的最后一列高度较短 则下一列会放置在其下方位于左侧下一行 我怎么能这样做呢 col xs 3 border 1px solid red div clas
  • 如何在 Go 中更新地图值

    我想构建一个带有字符串键和结构值的映射 我可以使用它来更新由映射键标识的映射中的结构值 我已经尝试过这个 操场 func main dataReceived Data Data ID D1 Value V1 Data ID D2 Value
  • 适用于 .NET WinForms 的优质免费 Gridview

    是否有适用于 NET WinForms 的优质免费 Gridview Xceed datagrid 精简版 很可爱 但适用于 WPF 它很好 很简单 在功能方面并不让人感到不知所措 而且只需单击一个按钮 看起来就很棒 我正在为 WinFor
  • 了解分配在堆栈上的实例的 C++ 虚拟方法

    对于以下代码 include
  • MPEG-TS 分段 HTTP 实时流媒体

    我尝试交织 MPEG TS 片段但失败了 实际上使用笔记本电脑中的内置摄像头捕获一组片段 然后使用 FFMPEG 使用以下命令进行编码 ffmpeg er 4 y f video4linux2 s 640x480 r 30 i s isyn
  • 定义第一个日期选择器的第二个日期选择器的开始日期

    我正在研究两个引导日期选择器 一旦用户单击第一个日期选择器上的任何日期 第二个日期选择器的开始日期应该是在第一个日期选择器中选择的 在此之前所有日期都应被禁用 但我肯定走错了路 我无法弄清楚 变量 diffDays 的值没有反映在第二个日期
  • 执行 while / 循环以获得 10 个随机结果

    您好 我正在尝试为我的网站制作一个标签脚本 以便每次搜索引擎访问我的网站时 我的网站上都会显示 10 个不同的标签 这些标签将从数据库中获取 所以此刻我已经对其进行了编码 因此它只抓取一个 因为我不知道如何做while Like so sq
  • 使用 VBA 将 Access 中的 RTF 文本复制到单词表

    有没有办法使用 VBA 将 Access 数据库中的备注字段中的 RTF 文本复制到 Word 文档 我现在有这段代码 但它会生成 html 文本 该文本包含标签但未格式化 Query the database and get the sa
  • WCF 和证书(相互身份验证)的糟糕性能

    伙计们 姑娘们 我们稍后使用 WCF 作为应用程序的网站性能很糟糕 我们正在使用消息级安全性和证书 相互身份验证 我们在应用程序对象中缓存通道工厂 Sub Application Start ByVal sender As Object B
  • 如何在 MVC4 中识别 TempData 对象

    我有一个创建 TempData 对象的 ActionMethod TempData Message new Message Text txtMessage Success false 然后我在视图中读取 TempData 如下所示 var
  • 通过 Twitter Streaming API 获取所有过去的推文

    我如何通过 Twitter Streaming API 获取所有过去的推文 如您所知 它发送实时推文 而不是过去的推文 有用的计数参数在 2010 年被禁用 REST API 有如此糟糕的限制 以至于需要一生才能获取所有过去的推文 有什么解
  • 如何使用弹性框将第一个按钮对齐到左侧? [复制]

    这个问题在这里已经有答案了 div div
  • 如何将python变量传递给html变量?

    我需要从 python 中的文本文件读取 url 链接作为变量 并在 html 中使用它 文本文件 file txt 仅包含一行 http 188 xxx xxx xx 8878 这一行应该保存在变量 link 中 然后我应该在html中使
  • 解决 Azure YAML Pipeline 多个变量组中变量名称重叠的问题

    我们正在努力将经典 Azure Pipelines 转换为 YAML Pipelines 不清楚的一件事是如何确保两个具有相同名称但不同含义的变量的不同变量组不会互相踩踏 例如 如果我有变量组vg1 and vg2 每个变量都有名为secr
  • 从 EF Core 加载时计算 NotMapped 属性

    我们确实有一个实体类定义如下 Table Users Schema Mstr Audited public class User public virtual string FamilyName get set public virtual
  • 最大宽度与最小宽度

    我正在阅读的大多数关于使用媒体查询的教程都演示了如何使用min width 但我很少看到人们使用max width 这是人们使用的某种设计趋势或模式吗 min width over max width 例如 我正在设计一个从移动设备开始一直
  • 使用 boost 几何体调整几何对象模型的其他问题

    我想将 boost geometry 算法应用于以下不可变的 2D 模型 分别由点 多边形 开放或封闭 和多边形域类 具有任意数量的孔 类组成 如下所示 include
  • 如何给客户一个matlab项目?

    如果一家公司从事 matlab 项目 那么他们如何向客户提供该项目 我的意思是他们将哪个文件发送给客户 因为他们无法向客户移交整个代码和数据 这取决于很多事情 例如您为客户构建的产品的性质 您与他们的关系和合同协议 以及他们将来是否需要修改
  • PySpark java.io.IOException:方案没有文件系统:https

    我正在使用本地窗口并尝试加载XML在 python 上使用以下代码的文件 我遇到了这个错误 有谁知道如何解决它 这是代码 df1 sqlContext read format xml options rowTag IRS990EZ load