问题标签 [spark-csv]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
362 浏览

apache-spark - pyspark tsv 重复列

我正在尝试使用 spark_csv 包读取 pyspark 中的 tsv 文件。我的火花版本是 1.6.3。在我的数据集中,两列具有相同的名称。我正在使用以下代码来读取数据。

当我使用上面的代码阅读时,我得到以下异常:

所以,我想知道是否有办法在开始之前删除重复的列。我知道我可以事先指定模式。但我希望它是动态的,以便我可以在运行时处理任何模式。谢谢

0 投票
1 回答
964 浏览

scala - 在 Spark 中读取 csv 时防止分隔符冲突

我正在尝试使用 CSV 数据集创建 RDD。

问题是我有一列location具有(11112,222222)我不使用的结构。

因此,当我使用该map函数时,split(",")它会产生两列。

这是我的代码:

如何捕捉,该字段的内部而不将其视为 CSV 分隔符?

0 投票
2 回答
8614 浏览

apache-spark - 为什么 sqlContext.read.load 和 sqlContext.read.text 有区别?

我只是想将文本文件读入 pyspark RDD,我注意到sqlContext.read.load和之间存在巨大差异sqlContext.read.text

上面的sqlContext.read.load命令失败了

但是第二个成功了吗?

现在,我对此感到困惑,因为我在网上看到的所有资源都说要使用,sqlContext.read.load包括这个:https ://spark.apache.org/docs/1.6.1/sql-programming-guide.html 。

我不清楚何时使用这些中的哪一个。这些之间有明确的区别吗?

0 投票
1 回答
747 浏览

apache-spark - Spark另存为CSV不要忽略空格

我正在尝试将 Dataframe 保存为 CSV 文件,我想保留空格。我使用的是 Spark 2.1.1,但是当我尝试将其保存为 CSV 文件时,所有空格都被修剪了。

我尝试了这些选项,但没有奏效。

预期的 CSV 格式

我当前的输出:

0 投票
0 回答
423 浏览

apache-spark - Spark Csv 指定换行符

我正在使用 spark csv 库编写数据框。我正在使用火花 1.6。我想知道是否有办法指定换行符。通常,我认为它是\n。

或者如果没有,是否有一个很好的解决方案来改变换行符?

0 投票
2 回答
3363 浏览

scala - Spark中的CSV自定义模式

我有一个 csv 文件

第1577章

我尝试使用自定义模式加载 csv 文件,

但是可以正确地为空的模式并没有像预期的那样改变。

0 投票
1 回答
16907 浏览

apache-spark - 将 UUID 添加到 spark 数据集

我正在尝试向我的数据集添加一个 UUID 列。

但结果是所有行都具有相同的 UUID。我怎样才能让它独一无二?

0 投票
0 回答
560 浏览

apache-spark - 每个零件文件中都会生成 Spark-Xml 根标记

所以我正在尝试生成一个具有以下结构的 XML。

现在我有下面的代码

当我运行它时,它会在指定目录中创建一个包含两个部分 00000 和部分 00001 的文件。每个文件中都有一个 Root 和 Row 标记。当我 copyMerge 零件文件时,它将复制那些 RootTag (n:Brands)。

每个零件文件如下所示。

我使用 FileUtil 来合并 partFile。

当我合并两个部分文件时,它就变成了。

如何避免此 RootTag 在每个零件文件中重复?

我不想使用repartition(1),因为我有一个庞大的数据集,而单个工作人员将无法处理它。

0 投票
1 回答
391 浏览

apache-spark - 启用 multiLine 选项时 Spark 2 的 CSV 解析器的奇怪行为

从 CSV 文件创建 DataFrame 时,如果multiLine启用该选项,某些文件列会被错误地解析。

这里是代码执行。随着代码的进行,我将尝试显示奇怪的行为。

首先,我在两个变量中df_ok加载文件:加载不带multiLine选项的文件,同时df_ko加载multiLine启用选项的文件。我作为示例使用的文件\r\n为 EOL,它以 UTF-8 编码,并以管道作为列分隔符。

我注意到的第一件事是,使用 时multiLine,该列LSV_TYPE消失了。相反,它显示: string (nullable = true). 使用df_ko.columns它时会显示一些非常奇怪的东西:..., "LSV")YPE. 当我仅用\n作 EOL 时,不会发生这种情况。设置quote选项不会改变任何东西。

我测试的下一件事是列的选择FILIALE

所以我认为除了他的专栏名称之外还有其他内容:

比我检查文件的方式不同:

然后我确定问题来自 CSV 解析。添加charset选项或使用单义性作为parseLib选项的值不会改变任何事情。

我正在使用的文件:

我使用 Spark 2.2.0 在 HDP 2.6.4 上执行了我的代码。

有没有人有解决方法或知道发生了什么?

0 投票
2 回答
3986 浏览

scala - 最后一列名称包含空格时,Spark 无法读取 CSV

我有一个看起来像这样的 CSV:

在纯文本中,它实际上看起来像这样:

我的spark.read方法如下所示:

multiLine设置为true时,df加载为空。multiLine设置为时加载正常false,但我需要multiLine设置为true

如果我将名称更改Column ThreeColumnThree,并在schema对象中更新它,那么它可以正常工作。似乎multiLine正在应用于标题行!我希望当header也设置为true.

任何想法如何解决这个问题?我应该使用univocity解析器而不是默认值commons吗?

更新:

我不知道为什么模拟数据工作正常。这是数据的更接近的表示:

CSV(只有 1 个标题和 1 行数据......):

架构和spark.read方法:

df.show()结果spark-shell

UDPATE 2:

我想我找到了“有什么不同”。当我复制 CSV 中的数据并将其保存到另一个 CSV 时,它工作正常。但是那个原始的CSV(由Excel保存)失败了...... Excel保存的CSV是1290字节,而我自己创建的CSV(工作正常)是1292字节......

更新 3:

我打开了 Update2 中提到的两个文件vim,注意到 Excel 保存的 CSV 有^M而不是新行。在此之前我的所有测试都是有缺陷的,因为它总是比较最初由 Excel 保存的 CSV 与从 Sublime 创建的 CSV ...... Sublime 没有显示出差异。我确定我可以安装一个设置或包来查看它,因为我使用 Sublime 作为我的首选一次性文件编辑器......

不知道我是否应该关闭这个问题,因为标题具有误导性。再说一次,对外面的人来说一定有一些价值,哈哈……