问题标签 [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 投票
6 回答
67748 浏览

apache-spark - “插入...”与 SparkSQL HiveContext

我正在尝试使用我的 HiveContext 运行插入语句,如下所示:

1.5.2 Spark SQL 文档没有明确说明是否支持这一点,尽管它确实支持“动态分区插入” 。

这会导致堆栈跟踪,例如

有没有其他方法可以插入到受支持的 Hive 表

0 投票
1 回答
1126 浏览

apache-spark - 使用 PySpark.sql.HiveContext 查询现有的 Hive tavle

我想使用 pyspark sql 在 Hive 表(表名:'sample')上构建查询。以下是我在 pyspark shell 上编译的简单 pyspark 代码

以下是我遇到的错误:

我知道我迷失在配置部分。任何人都可以帮助配置部分吗?

PS:我正在使用 Hortonworks Ambari HDP-2.2

0 投票
1 回答
3719 浏览

apache-spark - 在单元测试中使用 TestHiveContext/HiveContext

我试图在单元测试中这样做:

但我明白了:

当我使用 spark-submit 运行时,代码运行良好,但在单元测试中却不行。如何为单元测试解决这个问题?

0 投票
1 回答
191 浏览

json - spark hivecontext 处理查询问题

我正在尝试从 Jsons 获取信息以在 Hive 中创建表。

这是我的 Json 模式:

我正在使用这个查询:

这就是我得到的:

但我不知道如何将这些信息放在表格中以便在 Hive 控制台之后使用它。

我用这个:

它创造了一些东西,但我不知道如何使用它。

谢谢

0 投票
2 回答
1261 浏览

scala - Uisng Hive 上下文,在本地系统 metastore_db 中本地创建 Hive 表,而不是在集群上,放置我的 hive-site.xml

我已经创建了一个 Spark Context 对象,并尝试从 hadoop 服务器(不在我的本地)上的文本文件中检索文本,并且我能够检索它。

当我试图检索 Hive 表(它位于独立机器、集群上)时,我无法做到,当我创建一个 hive 表时,它会在 metastore_db 本地创建

objHiveContext.sql("create table yahoo_orc_table (date STRING, open_price FLOAT, high_price FLOAT, low_price FLOAT, close_price FLOAT, volume INT, adj_price FLOAT) 存储为orc")

我尝试设置元存储

objHiveContext.setConf("hive.metastore.warehouse.dir", "hdfs://ServerIP:HiveportNum/apps/hive/warehouse")

&& 还有 objHiveContext.hql("SET hive.metastore.warehouse.dir=hdfs://serverIp:portNumber/apps/hive/warehouse")

我什至将 hive-site xml 放在 spark machine conf 文件夹中,

如何让我的 scala 应用程序联系 hive-site.xml 并从该 xml 获取元存储信息以及我应该将我的 Hive-site.xml 放在哪里

我已将它放在我的应用程序中,因为建议在 ClassPath 中添加任何地方,我添加并可以看到 mypom.xml 文件上方,但我的 scala 应用程序仍处于本地模式

表(yahoo_orc_table)在 D:\user\hive\warehouse 本地创建

0 投票
1 回答
130 浏览

apache-spark - Bluemix Spark 中的 HiveContext

在 bluemix spark 我想使用 HiveContext

我收到以下错误

Py4JJavaError:调用 o45.parquet 时出错。: java.lang.RuntimeException: java.lang.RuntimeException: 无法实例化 org.apache.hadoop.hive.metastore.HiveMetaStoreClient

0 投票
1 回答
1296 浏览

scala - Spark Scala:JniBasedUnixGroupsMapping:获取XXX组时出错:找不到用户名

我一直在使用 scala IDE 中的 spark 从本地系统连接到 Hive(在集群中),最后将我的 hive-site.xml 正确放置在 Spark/conf 文件夹和类路径中,并且能够连接到 Metastore 但无法访问蜂巢表。

如何更改 HiveContext 的用户

15/12/22 10:28:42 INFO ParseDriver:解析命令:显示表 15/12/22 10:28:43 INFO ParseDriver:解析已完成 15/12/22 10:28:45 INFO metastore:尝试连接Metastore 与 URI thrift://Server.com:9083 15/12/22 10:28:46 INFO JniBasedUnixGroupsMapping:获取 XXXX 组时出错:找不到用户名。

15/12/22 10:28:46 WARN UserGroupInformation:没有可供用户 XXXXX 使用的组 15/12/22 10:28:46 INFO Metastore:已连接到 Metastore。

线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/tez/dag/api/SessionNotRunning at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:353) at org.apache.spark.sql.hive.HiveContext$$anonfun$4 .apply(HiveContext.scala:235) at org.apache.spark.sql.hive.HiveContext$$anonfun$4.apply(HiveContext.scala:231) at scala.Option.orElse(Option.scala:257) at org. apache.spark.sql.hive.HiveContext.x$3$lzycompute(HiveContext.scala:231) 在 org.apache.spark.sql.hive.HiveContext.x$3(HiveContext.scala:229) 在 org.apache.spark。 org.apache.spark.sql.hive.HiveContext.hiveconf(HiveContext.scala:229) 中的 org.apache.spark.sql.hive.HiveMetastoreCatalog 中的 sql.hive.HiveContext.hiveconf$lzycompute(HiveContext.scala:229)。 (HiveMetastoreCatalog.scala:55) 在 org.apache.spark.sql.hive.HiveContext$$anon$1.(HiveContext.scala:253) 在 org.apache.spark.sql.hive。HiveContext.catalog$lzycompute(HiveContext.scala:253) at org.apache.spark.sql.hive.HiveContext.catalog(HiveContext.scala:253) at org.apache.spark.sql.hive.HiveContext$$anon$3。 (HiveContext.scala:263) 在 org.apache.spark.sql.hive.HiveContext.analyzer$lzycompute(HiveContext.scala:263) 在 org.apache.spark.sql.hive.HiveContext.analyzer(HiveContext.scala:262 ) 在 org.apache.spark.sql.SQLContext$QueryExecution.analyzed(SQLContext.scala:411) 在 org.apache.spark.sql.SQLContext$QueryExecution.analyzed$lzycompute(SQLContext.scala:411)。 spark.sql.SchemaRDDLike$class.$init$(SchemaRDDLike.scala:58) at org.apache.spark.sql.SchemaRDD.(SchemaRDD.scala:108) at org.apache.spark.sql.hive.HiveContext.hiveql (HiveContext.scala:102) 在 org.apache.spark.sql.hive.HiveContext.hql(HiveContext.scala:106) 在 com.Spark。ConnectToHadoop.CountWords$.main(CountWords.scala:50) at com.Spark.ConnectToHadoop.CountWords.main(CountWords.scala) 原因:java.lang.ClassNotFoundException: org.apache.tez.dag.api.SessionNotRunning at java .net.URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java .lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 23 更多URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang。 ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 23 更多URLClassLoader$1.run(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang。 ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ... 23 更多

0 投票
0 回答
396 浏览

scala - Spark SQL:作业因阶段失败而中止:java.io.InvalidClassException:SpecificMutableRow;本地类不兼容

我试图从 Spark scala 中检索 hive 表(Hive Cluster、spark cluster 和我的本地系统都具有相同的 JDK 版本 8)

我能够使用第 1 行打印表列,但是由于serialVersionUID 即不兼容的类路径而尝试执行收集语句

WARN TaskSetManager: Lost task 1.0 in stage 0.0 (TID 1, SERVERIP): **java.io.InvalidClassException**: org.apache.spark.sql.catalyst.expressions.SpecificMutableRow; **local class incompatible: stream classdesc serialVersionUID = -2362733443263122426, local class serialVersionUID = -8202316371712574867** at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:621) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1707) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1345) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1993) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1918)

0 投票
0 回答
404 浏览

apache-spark-sql - 使用 HiveContext 用 Spark SQL 中另一个表的值更新第一个表列

我想通过覆盖另一个表中的列来更新现有表中的列。

示例: table 中有列namestudent但还有另一个表employee,我想从表中逐列覆盖namestudent中的nameemployee。我想使用 HiveContext 在 Spark SQL 中执行此操作。

我们可以运行这个命令:

在 Spark 中使用 HiveContext?

0 投票
2 回答
5477 浏览

scala - 如何使用 Scala 从 Spark 更新 ORC Hive 表

我想更新一个兽人格式的配置单元表,我可以从我的 ambari 配置单元视图中更新,但无法从 sacla (spark-shell) 运行相同的更新语句

objHiveContext.sql("select * from table_name") 能够看到数据但是当我运行时

objHiveContext.sql("update table_name set column_name='testing'") 无法运行,一些 Noviable 异常(更新附近的语法无效等)正在发生,因为我能够从 Ambari 视图更新(因为我设置了所有必需的配置即 TBLPROPERTIES "orc.compress"="NONE" transactional true 等)

尝试将 Insert 插入使用 case 语句,但不能我们可以从 spark 更新 hive ORC 表吗?如果是,那么程序是什么?

下面导入

注意:我没有在该表上应用任何分区或分桶如果我应用分桶,当存储为 ORC Hive 版本:1.2.1 Spark 版本:1.4.1 Scala 版本:2.10.6 时,我什至无法查看数据