当前位置: 首页 > 知识库问答 >
问题:

java.io.StreamCorruptedException导入CSV到Spark DataFrame时

皇甫乐
2023-03-14

我正在以独立模式运行Spark集群。Master和Worker节点都可以访问,并在Spark WebUI中具有日志。

我正在尝试将数据加载到PySpark会话中,以便我可以在Spark DataFrames上工作。

下面是几个例子(其中一个来自官方文件),我尝试使用不同的方法,但都失败了,出现了相同的错误。如

from pyspark.conf import SparkConf
from pyspark.context import SparkContext
from pyspark.sql import SQLContext

conf = SparkConf().setAppName('NAME').setMaster('spark://HOST:7077')
sc = SparkContext(conf=conf)
spark = SparkSession.builder.getOrCreate()

# a try
df = spark.read.load('/path/to/file.csv', format='csv', sep=',', header=True)

# another try
sql_ctx = SQLContext(sc)
df = sql_ctx.read.csv('/path/to/file.csv', header=True)

# and a few other tries...

每次我都会遇到同样的错误:

Py4JJavaError:调用o81时出错。csv:

org.apache.spark.SparkException:由于阶段失败而中止作业:阶段0.0中的任务0失败4次,最近一次失败:阶段0.0中丢失任务0.3(TID 3,192.168。X. X,执行器0):

java.io.StreamCorruptedException:无效的流标头:0000000B

我从JSON和CSV加载数据(当然,适当地调整方法调用),每次错误都是相同的。

有人知道问题出在哪里吗?

共有1个答案

邴姚石
2023-03-14

由于这一回答,我最终解决了问题。

Spark会话pyspark版本与Spark应用程序版本(2.4 VS 2.3)不匹配。

在2.3版下重新安装pyspark立即解决了问题#脸掌

 类似资料:
  • 问题内容: 我创建了一个数据库和一个表。我还创建了所有需要的字段。我创建了46个字段,其中一个是该行的ID。CSV不包含ID字段,也不包含列的标题。我对所有这些都是陌生的,但一直在努力解决。我不是在这里懒惰地寻求答案,而是在寻找方向。 我试图弄清楚如何导入CSV,但是让它开始从第二个字段开始导入数据,因为我希望auto_increment将填充ID字段,这是我创建的第一个字段。 我没有运气就尝试了

  • 我正在开发一个基于Django的web应用程序。 我将把一个csv导入postgresql数据库,该数据库有100000多行,并将其用作Django应用程序的数据库。在这里,我面临两个问题。字段名包括以下特殊字符: 首先,如何定义Postgresql数据库的字段名以导入csv? 导入后,我将通过django模型获取数据。那么如何定义包含特殊字符的Django模型变量名呢? 当然,如果我更改包含特殊

  • 我有一个csv文件,我想将它导入JTable。 是否有一个简单的示例显示如何将csv文件导入JTable?

  • 问题内容: 我刚刚切换到Webmatrix,因为我正在使用的服务器停止了对MySQL / PHP的支持。现在,我正在使用SQL Server Compact将旧的php mysql网站转换为Webmatrix。但是我遇到了一点障碍。我正在使用脚本将csv文件直接导入到数据库中,在php / mysql中这并不难,但是我无法使其在Webmatrix和SQL Server Compact中工作。有人对

  • 问题内容: 我正在尝试使用pgAdmin4导入CSV。我使用查询创建了表格, CSV读取的标题和第一行是… 当我尝试使用导入对话框时,该过程失败,并显示错误代码1: 我觉得没什么错-有什么想法吗? 问题答案: 根据你的表结构,这种进口将在列失败和,因为它们的值有小数,您宣布他们作为。删除小数点或将列类型更改为例如。 话虽如此,只需从pgAdmin尝试一下(考虑到文件和数据库位于同一服务器中): 如

  • 问题内容: 我正在做“elasticsearch入门”教程。不幸的是,本教程没有介绍将数据库导入Elasticsearch的第一步。 我用谷歌搜索找到了解决方案,但不幸的是它无法正常工作。这是我要实现的目标和拥有的目标: 我有一个要导入的数据文件(简化了) 我想使用导入。经过互联网研究后,我得到以下配置: 我在指定文档类型时遇到了麻烦,因此一旦导入数据,便导航到http:// localhost: