问题标签 [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.
apache-spark - pyspark tsv 重复列
我正在尝试使用 spark_csv 包读取 pyspark 中的 tsv 文件。我的火花版本是 1.6.3。在我的数据集中,两列具有相同的名称。我正在使用以下代码来读取数据。
当我使用上面的代码阅读时,我得到以下异常:
所以,我想知道是否有办法在开始之前删除重复的列。我知道我可以事先指定模式。但我希望它是动态的,以便我可以在运行时处理任何模式。谢谢
scala - 在 Spark 中读取 csv 时防止分隔符冲突
我正在尝试使用 CSV 数据集创建 RDD。
问题是我有一列location
具有(11112,222222)
我不使用的结构。
因此,当我使用该map
函数时,split(",")
它会产生两列。
这是我的代码:
如何捕捉,
该字段的内部而不将其视为 CSV 分隔符?
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 。
我不清楚何时使用这些中的哪一个。这些之间有明确的区别吗?
apache-spark - Spark另存为CSV不要忽略空格
我正在尝试将 Dataframe 保存为 CSV 文件,我想保留空格。我使用的是 Spark 2.1.1,但是当我尝试将其保存为 CSV 文件时,所有空格都被修剪了。
我尝试了这些选项,但没有奏效。
预期的 CSV 格式
我当前的输出:
apache-spark - Spark Csv 指定换行符
我正在使用 spark csv 库编写数据框。我正在使用火花 1.6。我想知道是否有办法指定换行符。通常,我认为它是\n。
或者如果没有,是否有一个很好的解决方案来改变换行符?
scala - Spark中的CSV自定义模式
我有一个 csv 文件
第1577章
我尝试使用自定义模式加载 csv 文件,
但是可以正确地为空的模式并没有像预期的那样改变。
apache-spark - 将 UUID 添加到 spark 数据集
我正在尝试向我的数据集添加一个 UUID 列。
但结果是所有行都具有相同的 UUID。我怎样才能让它独一无二?
apache-spark - 每个零件文件中都会生成 Spark-Xml 根标记
所以我正在尝试生成一个具有以下结构的 XML。
现在我有下面的代码
当我运行它时,它会在指定目录中创建一个包含两个部分 00000 和部分 00001 的文件。每个文件中都有一个 Root 和 Row 标记。当我 copyMerge 零件文件时,它将复制那些 RootTag (n:Brands)。
每个零件文件如下所示。
我使用 FileUtil 来合并 partFile。
当我合并两个部分文件时,它就变成了。
如何避免此 RootTag 在每个零件文件中重复?
我不想使用repartition(1)
,因为我有一个庞大的数据集,而单个工作人员将无法处理它。
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 上执行了我的代码。
有没有人有解决方法或知道发生了什么?
scala - 最后一列名称包含空格时,Spark 无法读取 CSV
我有一个看起来像这样的 CSV:
在纯文本中,它实际上看起来像这样:
我的spark.read
方法如下所示:
当multiLine
设置为true
时,df
加载为空。multiLine
设置为时加载正常false
,但我需要multiLine
设置为true
。
如果我将名称更改Column Three
为ColumnThree
,并在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 作为我的首选一次性文件编辑器......
不知道我是否应该关闭这个问题,因为标题具有误导性。再说一次,对外面的人来说一定有一些价值,哈哈……