问题标签 [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 投票
0 回答
64 浏览

java - json字段前后有2个引号(bug spark?)

我有一个对象

我用于在字符串中创建 json(使用杰克逊):

jsonInfo 似乎还可以:{"blah":"text1","blah_blah":"text2","int_val":20}但是当使用 spark 将其写入 csv 时,我得到每个字符串的双引号:

似乎它正在逃逸"

我试图改变option("escape", "\\")但输出没有改变。如果我更改option("quote", "\\"),则输出会更改:

在我看来,这就像火花库中的一个错误:它正在使用引号进行转义。有没有人遇到过这个问题?

0 投票
1 回答
1809 浏览

apache-spark - 为什么将模式指定为 DateType / TimestampType 会使查询非常慢?

我正在使用spark-csv 1.1.0和 Spark 1.5。我使架构如下:

但是当有DateType列时,我对 Dataframes 的查询会很慢。(查询很简单groupby(), sum()等等)

使用相同的数据集,在我注释了将 Date toDateType和 DateTime to映射到的两行之后TimestampType(即,将它们映射到StringType),查询变得更快。

这可能的原因是什么?非常感谢!

0 投票
4 回答
14340 浏览

apache-spark - 十进制数据类型无法在 spark 和 Hive 中正确存储值

我在存储十进制数据类型时遇到问题,不确定这是错误还是我做错了什么

文件中的数据如下所示

当我使用csv阅读器推断火花中的模式时,它将column3的数据类型作为字符串,所以我将其转换为十进制并将其保存为表。

现在,当我访问表格时,它以以下方式显示输出,消除了小数

我还在 Hive 中测试了同样的事情,方法是创建一个以 column3 为十进制的本地表,并用数据加载它,同样它没有将它们存储为十进制。

在这方面的任何帮助将不胜感激。

这是上面的代码

在 spark 文件的 schema

代码

转换为十进制后的架构

对于蜂巢

如果您还需要更多信息,请告诉我。

谢谢,谢谢

0 投票
1 回答
2117 浏览

csv - 在 Spark 中使用 partitionBy 保存 CSV 文件

我正在尝试将数据框保存为按列分区的 CSV 文件。

但是输出没有保存任何分区信息。看起来 partitionBy 被完全忽略了。没有错误。如果我尝试使用镶木地板格式,它会起作用。

我在这里想念什么?

0 投票
2 回答
260 浏览

csv - 如果在将 CSV 导入 DataFrame 时未正确设置 spark.executor.memory,则字符会损坏

更新:请坚持这个问题。我发现这可能是 Spark 1.5 本身的问题,因为我没有使用官方版本的 Spark。我会不断更新这个问题。谢谢!

最近在使用 Spark-CSV 将 CSV 导入 Spark 中的 DataFrame 时,我注意到一个奇怪的错误。

这是我的示例代码:

CarSales 是一个非常小的 csv。我注意到当spark.masteris not时local,设置spark.executor.memory为 16GB 以上会导致 DataFrame 损坏。该程序的输出如下所示:(我从日志中复制了文本,在本例spark.executor.memory中设置为 32GB)

虽然文件的前 10 行是:

我注意到spark.executor.memory在我的机器上只更改为 16GB,前 10 行是正确的,但将其设置为超过 16GB 会导致损坏。

更重要的是:在我的一台具有 256GB 内存的服务器上,将其设置为 16GB 也会产生此错误。相反,将其设置为 48GB 将使其正常工作。另外,我尝试打印dataFrame.rdd,它表明RDD的内容是正确的,而数据框本身是不正确的。

有人对这个问题有任何想法吗?

谢谢!

0 投票
2 回答
32826 浏览

scala - 如何解析使用 ^A(即 \001)作为 spark-csv 分隔符的 csv?

对于 spark 和 hive 以及大数据和 scala 等等来说,这真是太新了。我正在尝试编写一个简单的函数,它需要一个 sqlContext,从 s3 加载一个 csv 文件并返回一个 DataFrame。问题是这个特定的 csv 使用 ^A(即 \001)字符作为分隔符,并且数据集很大,所以我不能只在其上执行“s/\001/,/g”。此外,这些字段可能包含我可能用作分隔符的逗号或其他字符。

我知道我正在使用的 spark-csv 包有一个分隔符选项,但我不知道如何设置它,以便它将 \001 作为一个字符读取,而不是像转义的 0、0 和 1 这样的字符。也许我应该使用 hiveContext 什么的?

0 投票
1 回答
1919 浏览

scala - 如何避免火花 NumberFormatException: null

我有一个来自我遇到的特定异常的一般性问题。

我正在使用 spark 1.6 使用 dataproc 查询数据。我需要从 2 个日志中获取 1 天的数据(约 10000 个文件),然后进行一些转换。

但是,我的数据可能(或可能没有)在全天查询不成功后有一些坏数据,我尝试了 00-09 小时并且没有错误。尝试了 10-19 小时并得到了例外。逐小时尝试,发现坏数据在小时:10。11小时和12小时很好

基本上我的代码是:

{过度简化}

我得到的错误是:

所以我的问题是 - 如何使用 spark-csv 实现异常处理?我可以将数据帧转换为 RDD 并在那里工作,但似乎必须有更好的方法.....

有人解决了类似的问题吗?

0 投票
0 回答
163 浏览

apache-spark - 使用 spark-csv 包的 jupyter notebook 中的 PySpark

我在本地模式下使用 spark 1.6.0。我已经创建了 ipython pyspark 配置文件,因此 pyspark 内核将在 jupyter notebook 中启动。所有这些都正常工作。

我想在 jupyter notebook中使用这个包spark-csv 。我试图编辑文件~/.ipython/profile_pyspark/startup/00-pyspark-setup.py--packages com.databricks:spark-csv_2.11:1.4.0pyspark-shell命令之后放置,但没有成功。仍然收到此错误消息:

你有什么建议吗?

0 投票
1 回答
141 浏览

date - Sparkcsv 无法解析日期字段

我有一个 csv 文件,我正在尝试使用 sparkcsv 加载到 spark 中。有一个字段具有格式为“yyyy-mm-dd hh:mm:ss”(例如“2014-09-18 00:00:00”)的日期类型值,我希望将其指定为 DateType。但是我不断得到

java.lang.IllegalArgumentException at java.sql.Date.valueOf(Date.java:140)

根据我的阅读,当它遇到不遵循默认模式的字符串时会发生这种情况。但我的有!我什至尝试option("dateFormat", "yyyy-mm-dd hh:mm:ss")在阅读 csv 时添加,但这并没有做任何事情。

我在其他地方读到,如果该字段为空,则可能会发生此错误,但情况似乎并非如此。

option("mode", "DROPMALFORMED")无济于事-同样的错误。

0 投票
0 回答
1512 浏览

apache-spark - 使用 spark-csv 包保存数据帧会引发异常和崩溃 (pyspark)

我在 spark 1.5.2 上以独立模式(使用 8 个内核)运行脚本,在脚本结束时,我尝试使用spark-csv包将一个非常大的数据帧序列化到磁盘。抛出异常的代码片段是:

data火花数据框在哪里。在执行时,我得到以下 stracktrace:

这导致了一堆这些:

...等等(我故意省略了最后几行。)

我确实(大致)了解正在发生的事情,但我非常不确定该怎么做——这是内存问题吗?我就该怎么做寻求建议 - 是否有一些我可以更改、添加等的设置?