问题标签 [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.
java - json字段前后有2个引号(bug spark?)
我有一个对象
我用于在字符串中创建 json(使用杰克逊):
jsonInfo 似乎还可以:{"blah":"text1","blah_blah":"text2","int_val":20}
但是当使用 spark 将其写入 csv 时,我得到每个字符串的双引号:
似乎它正在逃逸"
。
我试图改变option("escape", "\\")
但输出没有改变。如果我更改option("quote", "\\")
,则输出会更改:
在我看来,这就像火花库中的一个错误:它正在使用引号进行转义。有没有人遇到过这个问题?
apache-spark - 为什么将模式指定为 DateType / TimestampType 会使查询非常慢?
我正在使用spark-csv 1.1.0和 Spark 1.5。我使架构如下:
但是当有DateType
列时,我对 Dataframes 的查询会很慢。(查询很简单groupby(), sum()
等等)
使用相同的数据集,在我注释了将 Date toDateType
和 DateTime to映射到的两行之后TimestampType
(即,将它们映射到StringType
),查询变得更快。
这可能的原因是什么?非常感谢!
apache-spark - 十进制数据类型无法在 spark 和 Hive 中正确存储值
我在存储十进制数据类型时遇到问题,不确定这是错误还是我做错了什么
文件中的数据如下所示
当我使用csv阅读器推断火花中的模式时,它将column3的数据类型作为字符串,所以我将其转换为十进制并将其保存为表。
现在,当我访问表格时,它以以下方式显示输出,消除了小数
我还在 Hive 中测试了同样的事情,方法是创建一个以 column3 为十进制的本地表,并用数据加载它,同样它没有将它们存储为十进制。
在这方面的任何帮助将不胜感激。
这是上面的代码
在 spark 文件的 schema
代码
转换为十进制后的架构
对于蜂巢
如果您还需要更多信息,请告诉我。
谢谢,谢谢
csv - 在 Spark 中使用 partitionBy 保存 CSV 文件
我正在尝试将数据框保存为按列分区的 CSV 文件。
但是输出没有保存任何分区信息。看起来 partitionBy 被完全忽略了。没有错误。如果我尝试使用镶木地板格式,它会起作用。
我在这里想念什么?
csv - 如果在将 CSV 导入 DataFrame 时未正确设置 spark.executor.memory,则字符会损坏
更新:请坚持这个问题。我发现这可能是 Spark 1.5 本身的问题,因为我没有使用官方版本的 Spark。我会不断更新这个问题。谢谢!
最近在使用 Spark-CSV 将 CSV 导入 Spark 中的 DataFrame 时,我注意到一个奇怪的错误。
这是我的示例代码:
CarSales 是一个非常小的 csv。我注意到当spark.master
is not时local
,设置spark.executor.memory
为 16GB 以上会导致 DataFrame 损坏。该程序的输出如下所示:(我从日志中复制了文本,在本例spark.executor.memory
中设置为 32GB)
虽然文件的前 10 行是:
我注意到spark.executor.memory
在我的机器上只更改为 16GB,前 10 行是正确的,但将其设置为超过 16GB 会导致损坏。
更重要的是:在我的一台具有 256GB 内存的服务器上,将其设置为 16GB 也会产生此错误。相反,将其设置为 48GB 将使其正常工作。另外,我尝试打印dataFrame.rdd
,它表明RDD的内容是正确的,而数据框本身是不正确的。
有人对这个问题有任何想法吗?
谢谢!
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 什么的?
scala - 如何避免火花 NumberFormatException: null
我有一个来自我遇到的特定异常的一般性问题。
我正在使用 spark 1.6 使用 dataproc 查询数据。我需要从 2 个日志中获取 1 天的数据(约 10000 个文件),然后进行一些转换。
但是,我的数据可能(或可能没有)在全天查询不成功后有一些坏数据,我尝试了 00-09 小时并且没有错误。尝试了 10-19 小时并得到了例外。逐小时尝试,发现坏数据在小时:10。11小时和12小时很好
基本上我的代码是:
{过度简化}
我得到的错误是:
所以我的问题是 - 如何使用 spark-csv 实现异常处理?我可以将数据帧转换为 RDD 并在那里工作,但似乎必须有更好的方法.....
有人解决了类似的问题吗?
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.0
在pyspark-shell
命令之后放置,但没有成功。仍然收到此错误消息:
你有什么建议吗?
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")
无济于事-同样的错误。
apache-spark - 使用 spark-csv 包保存数据帧会引发异常和崩溃 (pyspark)
我在 spark 1.5.2 上以独立模式(使用 8 个内核)运行脚本,在脚本结束时,我尝试使用spark-csv
包将一个非常大的数据帧序列化到磁盘。抛出异常的代码片段是:
data
火花数据框在哪里。在执行时,我得到以下 stracktrace:
这导致了一堆这些:
...等等(我故意省略了最后几行。)
我确实(大致)了解正在发生的事情,但我非常不确定该怎么做——这是内存问题吗?我就该怎么做寻求建议 - 是否有一些我可以更改、添加等的设置?