问题标签 [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.
scala - 如何为 spark-csv 提供 parserLib 和 inferSchema 选项
当我使用上面的代码创建数据框时,出现以下错误:
错误执行程序:阶段 1.0 (TID 1) 中任务 0.0 中的异常 java.lang.AbstractMethodError: com.databricks.spark.csv.readers.BulkCsvReader.aggregate(Ljava/lang/Object;Lscala/Function2;Lscala/Function2;)Ljava /语言/对象;
如果我避免使用 parseLib 选项它运行良好。我想将 spark-csv 解析器设置为 Univocity,同时 spark csv 应该使用 inferSchema 识别数据类型。
注意:我使用的是 spark-csv 1.3(它不适用于任何版本) Spark:1.6.2 Scala:2.10.5
谢谢。
apache-spark - Spark CSV Escape 不工作
我正在使用带有 Scala 2.11 的 spark-core 版本 2.0.1。我有简单的代码来读取具有 \ 转义的 csv 文件。
根据文档 \ 是 csv 阅读器的默认转义。但它不起作用。Spark 正在读取 \ 作为我数据的一部分。例如: csv 文件中的 City 列是north rocks\,au。我期望 city 列应该在代码中读取为northrocks,au。但是 spark 将其读取为northrocks\并将au移动到下一列。
我试过以下但没有奏效:
- 明确定义的转义 .option("escape","\")
- 将转义更改为 | 或:在文件和代码中
- 我试过使用 spark-csv 库
任何人面临同样的问题?我错过了什么吗?
谢谢
apache-spark - 如何在 spark-csv 中写入“日期”数据类型
我有类似的数据。
我的代码与此类似:(Java)
上面的代码工作正常,没有错误,但 DATE 数据类型(“DOB”)列未正确打印在平面文件中。
我的实际结果是:
即使我正在使用.option("dateFormat", "MM/DD/YYYY")
.
请参阅最后一列,“日期”格式在 .csv 文件中不起作用。我不确定我错过了什么。
scala - Scala:Spark SQL to_date(unix_timestamp) 返回 NULL
Spark Version: spark-2.0.1-bin-hadoop2.7
Scala: 2.11.8
我正在将原始 csv 加载到 DataFrame 中。在 csv 中,虽然该列支持日期格式,但它们被写为 20161025 而不是 2016-10-25。该参数date_format
包括需要转换为 yyyy-mm-dd 格式的列名字符串。
在下面的代码中,我首先通过 将 Date 列的 csv 加载为 StringType schema
,然后检查 是否date_format
不为空,即有需要转换为Date
from的列,然后使用and转换String
每一列。但是,在 中,返回的行都是. unix_timestamp
to_date
csv_df.show()
null
返回前 20 行:
为什么我得到所有null
?
scala - Spark:master local[*] 比 master local 慢很多
我有一个EC2
设置r3.8xlarge (32 cores, 244G RAM)
。
在我的Spark
应用程序中,我从 DataBrick 读取两个 csv 文件S3
,Spark-CSV
每个 csv 有大约 500 万行。我是unionAll
两个 DataFrame 并dropDuplicates
在组合的 DataFrame 上运行一个。
但是当我有的时候,
火花比慢.setMaster("local")
32核不是更快吗?
scala - 关于如何以编程方式从 json 文件开始创建自定义 org.apache.spark.sql.types.StructType 模式对象
我必须使用来自 json 文件的信息创建一个自定义 org.apache.spark.sql.types.StructType 模式对象,json 文件可以是任何东西,所以我在属性文件中对其进行了参数化。
这是属性文件的外观:
文件 generated_schema.json 看起来像:
所以,这就是我认为我可以解决的方法:
当代码运行最后一行 .parquet(pathParquet) 时,会发生异常:
这段代码的输出是这样的:
应该是 schema_json 对象和 myDF.schema.json 对象应该具有相同的内容,不是吗?但它没有发生。我认为这必须启动错误。
最后,这项工作因这个例外而崩溃:
事实是,如果我不提供任何 json 模式文件,则作业执行良好,但是使用此模式...
有谁能够帮我?我只想从 csv 文件和 json 模式文件开始创建一些镶木地板文件。
谢谢你。
依赖项是:
更新
我可以看到有一个未解决的问题,
apache-spark - Spark Stand Alone - 最后阶段 saveAsTextFile 需要花费数小时使用很少的资源来编写 CSV 部分文件
我们在独立模式下运行 Spark,在 240GB“大”EC2 盒子上使用 3 个节点,以使用 s3a 将读取到 DataFrames 到 JavaRDD 的三个 CSV 文件合并到 S3 上的输出 CSV 部分文件中。
我们可以从 Spark UI 中看到,读取和合并以生成最终 JavaRDD 的第一阶段按预期在 100% CPU 上运行,但使用 CSV 文件写入的最后阶段saveAsTextFile at package.scala:179
在 3 个节点中的 2 个节点上“卡住”了好几个小时32 个任务中有 2 个需要几个小时(整个时间段内,CPU 占用率为 6%,内存占用率为 86%,网络 IO 为 15kb/s,磁盘 IO 为 0)。
我们正在读取和写入未压缩的 CSV(我们发现未压缩的 CSV 比 gzip 压缩的 CSV 快得多),并在三个输入 DataFrame 中的每一个上重新分区 16 并且不关闭写入。
非常感谢我们可以调查的任何提示,为什么最后阶段需要这么多小时在我们独立本地集群中的 3 个节点中的 2 个节点上做的很少。
非常感谢
- - 更新 - -
我尝试写入本地磁盘而不是 s3a 并且症状是相同的 - 最后阶段的 32 个任务中有 2 个saveAsTextFile
被“卡住”了几个小时:
apache-spark - 具有正确可空性的案例类的 Spark 模式
对于自定义 Estimator 的 transformSchema 方法,我需要能够将输入数据框的模式与案例类中定义的模式进行比较。通常这可以像从案例类中生成 Spark StructType / Schema一样执行,如下所述。但是,使用了错误的可空性:
由 df 推断的真实模式spark.read.csv().as[MyClass]
可能如下所示:
案例类:
为了比较我使用:
不幸的是,这总是产生false
,因为从案例类手动推断的新模式设置为可空true
(因为 ja java.Integer 实际上可能为空)
nullable = false
创建架构时如何指定?
rest - Spark REST API:找不到数据源:com.databricks.spark.csv
我有一个存储在 s3 上的 pyspark 文件。我正在尝试使用 spark REST API 运行它。
我正在运行以下命令:
并且 testing.py 文件有一个代码片段:
但在这一行:
我得到例外:
我正在尝试不同的事情,其中一件事是我登录到 ip-address 机器并运行以下命令:
这样它就会在 .ivy2/cache 文件夹中下载 spark-csv。但这并没有解决问题。我究竟做错了什么?
apache-spark - 将 spark sql 数据帧导出到 csv 时出错
我参考了以下链接以了解如何在 python 中导出 spark sql 数据框
我的代码:
我使用 spark-submit 加载作业,在主 url 上传递以下 jar
我收到以下错误