问题标签 [hivecontext]

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

caching - 缓存表的 Spark SQL 分区修剪

是否为 apache spark 中的缓存 TempTables 启用了分区修剪?如果是这样,我该如何配置它?

我的数据是不同安装中的一堆传感器读数,一行包含安装名称、标签、时间戳和值。

我使用以下命令以镶木地板格式写入数据:

我使用以下命令将这些数据读取到使用 Spark HiveContext 的 SQL 表中:

现在,如果我在该表上运行 SQL 查询,它会按预期进行分区修剪:

查询大约需要 8 秒。但是如果我将表缓存在内存中,然后执行相同的查询,它总是需要大约 50 秒:

我目前正在使用 Spark 1.6.1。

0 投票
2 回答
2516 浏览

hadoop - Spark:无法从配置单元表中读取数据

我创建了一个 Maven 项目作为pom.xml

我的班级正在从 hive 表中读取数据:

我正在使用 spark 从 hive metatore 中存在的表中读取数据,但面临一个非常奇怪的问题。

我有两个问题,如下所述:

问题 1.如果我使用<spark.version>1.3.0</spark.version>spark 能够找到 hive 表,并且能够在此行的帮助下在控制台上打印数据

但是如果我按照示例中所示进行过滤或分组,则火花找不到col1并抛出异常,如下所示

所以问题是为什么如果数据框能够找到该表,那么为什么它不让我对列进行分组以及如何解决这个问题?

问题 2.如果我使用<spark.version>1.6.0</spark.version>然后 spark 甚至找不到 hive 元存储中存在的表,那么现在为什么会出现这种行为???

环境:CLOUDERA QUICKSTART VM 5.8.0

0 投票
1 回答
1286 浏览

apache-spark-sql - 在 spark sql 中使用 HiveContext 会引发异常

我必须使用 HiveContext 而不是 SQLContext,因为使用了一些只能通过 HiveContext 获得的窗口函数。我在 pom.xml 中添加了以下几行:

我运行代码的机器上的 spark 版本也是 1.6.0 但是,当我将代码提交给 spark 时,出现以下异常:

这是堆栈跟踪:

有人知道吗?

0 投票
1 回答
645 浏览

java - Spark job that use hive context failing in oozie

In one of our pipelines we are doing aggregation using spark(java) and it is orchestrated using oozie. This pipelines writes the aggregated data to an ORC file using the following lines.

When the spark action in the oozie job gets triggered it throws the following exception

Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.SparkMain], main() threw exception, org.apache.hadoop.hive.shims.HadoopShims.isSecurityEnabled()Z java.lang.NoSuchMethodError: org.apache.hadoop.hive.shims.HadoopShims.isSecurityEnabled()Z

But the same is getting succeeded after rerunning the workflow multiple times.

All the necessary jars are in place both during run time and compile time.

This is my first spark app and i am not able understand the issue.

Could someone help me in understanding the issue better and possible solution for the same.

0 投票
1 回答
1600 浏览

apache-spark - 来自 Spark hivecontext 的查询会锁定 hive 表吗?

我知道如果我从 Hive 提交查询,将获取共享锁,然后配置单元表将被查询锁定:https ://cwiki.apache.org/confluence/display/Hive/Locking

所以我只是想知道查询是否由 Spark Hivecontext 执行,是否需要锁定以及表是否也会被锁定?另外,如果我通过 Spark Hivecontext 将数据插入表中,是否需要独占锁?

谢谢

0 投票
0 回答
642 浏览

apache-spark - 本地模式下的 HiveContext 和 SQLContext

我正在我的本地机器上开发 Spark 作业,然后在集群上部署以全面运行。我创建了一个其他人在他们的代码中使用的公共库。在这段代码中,我必须使用 HiveContext 来执行 Spark SQL,许多人建议它提供更好的 sql 解析器。我没有对我的机器的管理员访问权限,因此我无法在本地模式下创建 HiveContext。公共代码使用 jar 共享,因此我们无法在 HiveContext 和 SQLContext 之间手动切换以进行测试。无论如何,我可以创建一个通用上下文,它将根据一些参数在本地模式下作为 SQLContext 运行,在集群模式下作为 HiveContext 运行。

这是我在本地模式下尝试创建 HiveContext 时遇到的错误。

17/03/16 13:11:53 INFO ObjectStore:使用 hive.metastore.cache.pinobjtypes="Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order" 17/03/16 设置 MetaStore 对象引脚类:11:54 INFO 数据存储:“org.apache.hadoop.hive.metastore.model.MFieldSchema”类被标记为“仅嵌入”,因此没有自己的数据存储表。17/03/16 13:11:54 INFO 数据存储:“org.apache.hadoop.hive.metastore.model.MOrder”类被标记为“仅嵌入”,因此没有自己的数据存储表。17/03/16 13:11:55 INFO 数据存储:类“org.apache.hadoop.hive.metastore.model.MFieldSchema”被标记为“仅嵌入”,因此没有自己的数据存储表。16 年 3 月 17 日 13:11:55 信息数据存储:类“org.apache.hadoop.hive. 56 信息审计:ugi= ip=unknown-ip-addr cmd=get_all_databases 17/03/16 13:11:56 信息 HiveMetaStore:0:get_functions:db=default pat=* 17/03/16 13:11:56 信息审计:ugi= ip=unknown-ip-addr cmd=get_functions:db=default pat=* 17/03/16 13:11:56 INFO 数据存储:类“org.apache.hadoop.hive.metastore.model.MResourceUri " 被标记为 "embedded-only",因此没有自己的数据存储表。线程“主”java.lang.RuntimeException 中的异常:java.lang.RuntimeException:HDFS 上的根暂存目录:/tmp/hive 应该是可写的。当前权限是:rw-rw-rw- at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522) at org.apache.spark.sql.hive.client.ClientWrapper.(ClientWrapper .scala:204) 在 org.apache.spark.sql.hive.client.IsolatedClientLoader。NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 com.intellij.rt.execution .application.AppMain.main(AppMain.java:144) 引起:java.lang.RuntimeException:根暂存目录:HDFS 上的 /tmp/hive 应该是可写的。当前权限是: rw-rw-rw- at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:612) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs( SessionState.java:554) 在 org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508) ... 还有 17 个 invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 原因:java .lang.RuntimeException:根暂存目录:HDFS 上的 /tmp/hive 应该是可写的。当前权限是: rw-rw-rw- at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:612) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs( SessionState.java:554) 在 org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508) ... 还有 17 个 invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) 原因:java .lang.RuntimeException:根暂存目录:HDFS 上的 /tmp/hive 应该是可写的。当前权限是: rw-rw-rw- at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:612) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs( SessionState.java:554) 在 org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508) ... 还有 17 个 HDFS 上的 /tmp/hive 应该是可写的。当前权限是: rw-rw-rw- at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:612) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs( SessionState.java:554) 在 org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508) ... 还有 17 个 HDFS 上的 /tmp/hive 应该是可写的。当前权限是: rw-rw-rw- at org.apache.hadoop.hive.ql.session.SessionState.createRootHDFSDir(SessionState.java:612) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs( SessionState.java:554) 在 org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:508) ... 还有 17 个

0 投票
1 回答
699 浏览

scala - 使用 Spark 和 Scala 将数据插入 Hive 表的问题

我是 Spark 的新手。这是我想做的事情。

我创建了两个数据流;第一个从文本文件中读取数据并使用 hivecontext 将其注册为临时表。另一个不断从 Kafka 获取 RDD,对于每个 RDD,它创建数据流并将内容注册为 temptable。最后,我将这两个临时表连接到一个键上以获得最终结果集。我想将该结果集插入配置单元表中。但我没有想法。试图遵循一些例子,但这只在配置单元中创建一个包含一列的表,而且太不可读。您能否告诉我如何在特定的数据库和配置单元表中插入结果。请注意,我可以使用 show 函数查看连接结果,因此真正的挑战在于插入配置单元表。

下面是我正在使用的代码。

0 投票
0 回答
115 浏览

apache-spark - 尝试从 Spark 数据帧创建配置单元表时观察到错误

创建了 HIVE 上下文,然后尝试使用视图创建表

Final_Data 是一个数据框。

错误日志如下 -

0 投票
2 回答
2249 浏览

python - 通过DataFrame查询计数查询时如何获取整数值?

我正在编写此代码以获取指定表中计数的整数值:

0 投票
0 回答
903 浏览

java - org.apache.spark.shuffle.FetchFailedException 调整后的帧长度超过 2147483647

当我尝试将数据帧转换为 javaRDD 时出现以下异常

有人可以解释一下这个问题的根本原因吗?

Spark 版本:CDH 5.5.2 中的 1.5

导致此异常的代码

我认为一些正确的火花配置可以解决问题,但不知道如何到达

提前致谢。