问题标签 [spark-hive]

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

apache-spark - 为什么我的 SparkSQL 查询在 HIVE 返回数据时不起作用

我有一堆 csv 文件存储在 blob 存储中,其中包含如下记录:

我使用以下命令创建了一个外部 Hive 表

并设法为一个月的数据添加了许多如下所示的分区

表中有大约135,733,286 条记录,至少下面的 Hive 查询是这样select count(*) from my_history说的。

现在我有以下两个问题:

1. Jupyter 挂起

当我执行这样的查询时,我hiveContext.sql("select count(*) from my_history").show()没有得到任何结果,甚至没有异常,因为从 Hive 运行相同的结果在很长一段时间后说 400+ 秒后给了我 135,733,286 作为结果。

2. 缓慢的结果

我像这样在 Hive 上尝试了一个简单的重复查询

返回结果需要近 450 秒,我有点希望它在一小部分时间内返回结果,因为我的 HDInsight 集群上有近 60 个内核。再次从 Jupyter 运行它并没有产生任何结果,也没有多次运行相同的查询提高了性能,因为我读到 Spark 为下一个查询缓存了 rdd。

我在这里想念什么?

谢谢基兰

0 投票
0 回答
448 浏览

apache-spark - 火花蜂巢java.lang.linkageerror

如果 Spark HiveContext 中存在 Drop table,则执行 Drop table 时,出现以下错误。

Hivecontext.sql(如果存在 table_name,则删除表)

java.lang.LinkageError: ClassCastException: 试图 castjar:file:/u/applic/data/hdfs7/hadoop/yarn/local/filecache/494/spark-hdp-assembly.jar!/javax/ws/rs/ext/ RuntimeDelegate.classtojar:file:/u/applic/data/hdfs7/hadoop/yarn/local/filecache/494/spark-hdp-assembly.jar!/javax/ws/rs/ext/RuntimeDelegate.class

我在用着:

  • Spark 版本 - Spark 1.6,
  • 高密度板 - 2.4
0 投票
2 回答
3664 浏览

maven - Apache spark Hive,带有 maven shade 的可执行 JAR

我正在使用 Apache Spark Hive 构建 apache-spark 应用程序。到目前为止一切正常——我一直在 Intellij IDEA 中运行测试和整个应用程序,并使用 maven 一起进行所有测试。

现在我想从 bash 运行整个应用程序并让它与本地单节点集群一起运行。我正在使用 maven-shade-plugin 构建单个可执行 JAR。

应用程序在尝试从 SparkContext 创建新的 HiveContext 时崩溃。抛出的异常告诉我 hive 无法创建元存储,因为 datanucleus 及其插件系统存在问题。我尝试关注几个问题,如何使用阴影运行 datanucleus 插件系统,但运气不好。例如: Datanucleus、JDO 和可执行 jar - 怎么做?

使用 hive 编写应用程序的可执行 JAR 并从 bash 运行它的最佳方法是什么?也许datanucleus及其插件系统的一些设置?

pom.xml

示例代码

抛出异常

先感谢您

0 投票
1 回答
3594 浏览

apache-spark - Spark CSV IOException Mkdirs 未能创建文件

TL;博士

Spark 1.6.1 无法在没有 HDFS 且 IOException 的独立集群上使用 Spark CSV 1.4 写入 CSV 文件 Mkdirs failed to create file

更多细节:

我正在使用带有 Scala 的本地文件系统(我正在运行的机器上甚至没有 HDFS)在独立集群上运行 Spark 1.6.1 应用程序。我有这个数据框,我正在尝试使用 HiveContext 将其保存为 CSV 文件。

这就是我正在运行的:

我使用的 Spark CSV 是 1.4。运行此代码时,出现以下异常:

完整的堆栈跟踪是:

输出目录确实被创建但它是空的。

我尝试使用 spark shell 运行它,我所做的是创建一个虚拟数据框,然后使用完全相同的代码保存它(也保存到相同的路径)。它成功了。

我检查了我正在写入的文件夹的权限并将其更改为 777 但基本上它在运行 Spark 作业时仍然不起作用

谷歌搜索它建议:

  • 通过删除我没有的 hdfs:/ 来更改文件前缀。我还尝试添加 file:/, file://, file:/// 前缀但没有成功
  • 权限问题 - 我尝试通过创建文件夹 777 来解决这个问题
  • 一些可能与我无关的 MacBook 问题,因为我正在使用 Ubuntu
  • 安全问题 - 检查我的堆栈跟踪,我找不到任何安全故障。
  • 删除文件路径开头的 / 前缀 - 我也尝试过,但没有成功
  • 关于这个问题的其他未回答的问题

有谁知道到底是什么问题?以及如何克服它?

提前致谢

0 投票
0 回答
378 浏览

hive - 在 hive 中将字符串转换为 bigint 会返回不完整的数据

如何获得蜂巢的全部价值?即cast('0024' as bigint)只会给出24,但我需要完整0024的作为我的输出。

知道怎么做吗?

0 投票
1 回答
1676 浏览

java - HiveContext createDataFrame 在 pySpark (jupyter) 上不起作用

我正在使用 Jupyter 笔记本对 pySpark 进行分析。我的代码最初使用 sqlContext = SQLContext (sc) 构建数据框,但现在我已切换到HiveContext,因为我将使用窗口函数。

我的问题是,现在我在尝试创建数据框时遇到了 Java 错误:

在此之后,我将数据读入 RDD,并为我的 DF 创建模式。

现在,当我尝试构建 DF 时,这是我得到的错误:

到目前为止,我一直在谷歌上搜索它,但没有运气。任何意见是极大的赞赏。

0 投票
0 回答
408 浏览

scala - 从 Scala 运行时,Spark Hivecontext 不执行查询

我有一个 Scala 程序,我在其中创建了一个 hivecontext 并从中运行一个 hive 查询。Hive 查询是一个多表插入查询。我面临查询成功运行但看不到正在生成的问题。有趣的是,如果在多表惰性查询中我插入一个表,则查询运行成功,即我可以看到输出数据。例如:

不生成数据的查询:

工作正常的查询:

我查看了执行程序日志,没有报告未执行的查询的错误。

我在 YARN 上运行 Spark 1.5

让我知道以上是否需要任何其他信息。

0 投票
1 回答
112 浏览

apache-spark - 带有自定义配置单元绑定的 Spark

如何使用当前(hive 2.1)绑定而不是 1.2 构建 spark? http://spark.apache.org/docs/latest/building-spark.html#building-with-hive-and-jdbc-support 没有提到这是如何工作的。spark 是否适用于 hive 2.x?

0 投票
0 回答
217 浏览

hadoop - 写入 Hive 时出现 Spark Dataframe OOM 错误

我有一个用于将 Spark 数据帧数据放入 Hive 的应用程序。

第一次,应用程序使用 100 个内核和 10 GB 内存在泄漏大量 32 Mb 块后产生此 OutOfMemory 错误。

这个 OutOfMemory 错误

之后,我使用 100 个内核和 20GB 内存运行应用程序,获得不同的泄漏大小(64 Mb),然后出现相同的 OutOfMemory 错误:

同样的 OutOfMemory 错误

谁能帮我理解这种行为?

0 投票
0 回答
1080 浏览

apache-spark - 带有 partitionBy 的 Spark SQL dataframe.save 正在创建一个数组列

我正在尝试将 Spark SQL 数据帧的数据保存到配置单元。要存储的数据应按数据框中的列之一进行分区。为此,我编写了以下代码。

col数据框被存储为一个名为和类型的单列的表array<string>,结构如下所示(来自 Hue 的屏幕截图)。

来自色调的图像

任何指针都非常有帮助。谢谢。