问题标签 [apache-spark-sql]

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 回答
639 浏览

sql - Impala 中的 OVERLAPS 函数

我正在尝试使用 ORACLE 或 Netezza 中的和重叠功能,它采用两个日期范围并检查它们是否相互重叠。像这样的东西: SELECT (TIMESTAMP '2011-01-28 00:00:00', TIMESTAMP '2011-02-01 23:59:59') OVERLAPS (TIMESTAMP '2011-02-01 00:00:00', TIMESTAMP '2011-02-01 23:59:59');

在 Impala 或 SparkSQL 中执行此操作的最佳方法是什么?不幸的是,Impala 或 SparSQL 中不存在 OVERLAPS。我唯一能想到的是UDF,但正在寻找解决方法。提前致谢!

0 投票
2 回答
14780 浏览

sql - 使用 Spark SQL 从 SQL Server 读取数据

是否可以将 Microsoft Sql Server(以及 oracle、mysql 等)中的数据读取到 Spark 应用程序中的 rdd 中?或者我们是否需要创建一个内存集并将其并行化为一个 RDD?

0 投票
1 回答
3252 浏览

hadoop - Spark SQL 无法完成写入具有大量分片的 Parquet 数据

我正在尝试使用 Apache Spark SQL 将 S3 中的 json 日志数据记录到 S3 上的 Parquet 文件中。我的代码基本上是:

当我有多达 2000 个分区并且失败 5000 或更多时,无论数据量如何,此代码都有效。通常可以将分区合并到一个可接受的数字,但这是一个非常大的数据集,在 2000 个分区时,我遇到了这个问题中描述的问题

我在 ec2 的 R3.xlarge 上的 spark-1.1.0 上运行它。我正在使用 spark-shell 控制台运行上述代码。之后我可以对dataSchemaRDD 对象执行非平凡的查询,因此它似乎不是资源问题。也可以读取和查询生成的 Parquet 文件,由于缺少摘要文件,它只需要很长时间。

0 投票
3 回答
16851 浏览

amazon-s3 - 将 5G 文件上传到 Amazon S3 时出现 EntityTooLarge 错误

根据此公告,Amazon S3 文件大小限制应为 5T,但上传 5G 文件时出现以下错误

这使得 S3 似乎只接受 5G 上传。我正在使用 Apache Spark SQL 使用SchemRDD.saveAsParquetFile方法写出 Parquet 数据集。完整的堆栈跟踪是

上传限制还是5T吗?如果是我收到此错误的原因,我该如何解决?

0 投票
0 回答
888 浏览

apache-spark - 使用 Spark SQL 将重新分区的 SchemaRDD 写入 Parquet 时出错

我正在尝试将保存 Spark SQL 表写入 Parquet 文件。由于其他 问题,我需要在写入之前减少分区数量。我的代码是

这抛出

如果我取出合并步骤并更改要使用shuffle=true或使用的代码会repartition引发相同的错误,则代码可以正常工作。我正在使用 spark-1.1.0。

0 投票
1 回答
2272 浏览

amazon-s3 - 在 S3 上以 Parquet 格式保存 >>25T SchemaRDD

在尝试在 S3 上以 Parquet 格式保存非常大的 SchemaRDD 时,我遇到了许多问题。我已经针对这些问题发布了具体问题,但这是我真正需要做的。代码应该看起来像这样

如果我有超过 2000 个分区或分区大于 5G,我会遇到问题。这为我可以通过这种方式处理的最大 SchemaRDD 设置了一个上限。实际限制更接近 1T,因为分区大小差异很大,您只需要 1 个 5G 分区即可让进程失败。

处理我遇到的具体问题的问题是

这个问题是看是否有任何解决主要目标的方法,不一定涉及直接解决上述问题之一。


提炼事情有两个问题

  • 将大于 5G 的单个分片写入 S3 失败。AFAIK 这是一个内置的s3n://桶限制。存储桶应该是可能的,s3://但似乎在 Spark 中不起作用,并且hadoop distcp本地 HDFS 也无法做到。

  • 一旦有 1000 个分片,写入摘要文件往往会失败。这似乎有多个问题。直接写入 S3 会产生上述链接问题中的错误。直接写入本地 HDFS 会产生 OOM 错误,即使在 r3.8xlarge(244G 内存)上,当大约有 5000 个分片时也是如此。这似乎与实际数据量无关。摘要文件似乎对于高效查询至关重要。

这些问题加在一起将 S3 上的 Parquet 表限制为 25T。在实践中,它实际上要小得多,因为分片大小在一个 RDD 内变化很大,并且 5G 限制适用于最大的分片。

如何将 >>25T RDD 作为 Parquet 写入 S3?

我正在使用 Spark-1.1.0。

0 投票
1 回答
2338 浏览

sql - Spark SQL:为什么简单查询出现这种不受支持的语言功能错误?

查询 = 从 B1 中选择 F1、SM3,其中 SM4 > 10

创建解析树。
2013 年 14 月 10 日 14:48:32 INFO ParseDriver:解析命令:从 B1 中选择 F1、SM3,其中 SM4 > 10 13 年 14 月 10
日 14:48:32 INFO ParseDriver:解析完成

但是在节点到计划翻译中,它根本就失败了!解决方法是删除 where 子句..

0 投票
2 回答
7623 浏览

sql - Spark SQL 查询中的字符串连接

我正在试验 Spark 和 Spark SQL,我需要在一个字符串字段的开头连接一个值,我从一个选择(使用连接)中检索该字段作为输出,如下所示:

假设我的表格包含:

模拟

事件

我想作为输出:

在 SQL 或 HiveQL 中,我知道我有concat可用的功能,但Spark SQL似乎不支持此功能。有人可以建议我解决我的问题吗?

谢谢你。

注意:我正在使用语言集成查询,但我可以只使用“标准”Spark SQL 查询,以防最终解决方案。

0 投票
1 回答
59 浏览

apache-spark - 我们可以将 Shark 0.9.1 版本与 Spark 1.1.0 一起使用吗?

我知道 Shark 已被 Spark SQL 所包含,这是 Apache Spark 中的一个新模块。但我的问题是,我们可以将现有的 Shark 与新的 Spark 版本一起使用吗?

0 投票
2 回答
3783 浏览

apache-spark - 如何在 Apache Spark 中聚合数据

我在 3 个节点上有一个分布式系统,我的数据分布在这些节点之间。例如,我有一个test.csv文件存在于所有 3 个节点上,它包含 4 列

我想尝试聚合上述结果集。如何按idc1c2c3列聚合数据集并像这样输出?

我尝试了以下方法: