问题标签 [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 回答
678 浏览

scala - 使用 scala 将转换后的列附加到 spark 数据框

我正在尝试访问配置单元表并从表/数据框中提取和转换某些列,然后将这些新列放入新的数据框中。我正在尝试以这种方式进行操作-

它使用 sbt 构建时没有任何错误。但是当我尝试运行它时,我收到以下错误 -

线程“主”java.lang.IllegalArgumentException 中的异常:在 org.apache.spark.sql.catalyst.analysis.UnresolvedStar.expand(unresolved.scala:199) 处的 scala.Predef$.require(Predef.scala:221) 要求失败) at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$$anonfun$apply$10$$anonfun$applyOrElse$14.apply(Analyzer.scala:354) at org.apache.spark.sql.catalyst.analysis .Analyzer$ResolveReferences$$anonfun$apply$10$$anonfun$applyOrElse$14.apply(Analyzer.scala:353) at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) at scala.collection .TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251) 在 scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 在 scala.collection.mutable.ArrayBuffer。foreach(ArrayBuffer.scala:47) at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251) at scala.collection.AbstractTraversable.flatMap(Traversable.scala:105) at org.apache.spark.sql.catalyst .analysis.Analyzer$ResolveReferences$$anonfun$apply$10.applyOrElse(Analyzer.scala:353) at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$$anonfun$apply$10.applyOrElse(Analyzer.scala: 347) 在 org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveOperators$1.apply(LogicalPlan.scala:57) 在 org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$ $anonfun$resolveOperators$1.apply(LogicalPlan.scala:57) at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:69) at org.apache.spark.sql.catalyst.plans .logical.LogicalPlan。resolveOperators(LogicalPlan.scala:56) at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$.apply(Analyzer.scala:347) at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences $.apply(Analyzer.scala:328) 在 org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1$$anonfun$apply$1.apply(RuleExecutor.scala:83) 在 org.apache。 spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1$$anonfun$apply$1.apply(RuleExecutor.scala:80) 在 scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111) 在 scala。 collection.immutable.List.foldLeft(List.scala:84) at org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$execute$1.apply(RuleExecutor.scala:80) at org.apache.spark。 sql.catalyst.rules.RuleExecutor$$anonfun$execute$1.apply(RuleExecutor.scala:72) 在 org.apache.spark.sql.catalyst.rules.RuleExecutor.execute(RuleExecutor.scala:72) 在 org.apache.spark.sql 的 scala.collection.immutable.List.foreach(List.scala:318) .execution.QueryExecution.analyzed$lzycompute(QueryExecution.scala:36) at org.apache.spark.sql.execution.QueryExecution.analyzed(QueryExecution.scala:36) at org.apache.spark.sql.execution.QueryExecution.assertAnalyzed (QueryExecution.scala:34) at org.apache.spark.sql.DataFrame.(DataFrame.scala:133) at org.apache.spark.sql.DataFrame.org$apache$spark$sql$DataFrame$$withPlan(DataFrame .scala:2126) at org.apache.spark.sql.DataFrame.select(DataFrame.scala:707) at org.apache.spark.sql.DataFrame.withColumn(DataFrame.scala:1188) at bacon$.main(bacon .scala:31) 在 bacon.main(bacon.scala) 在 sun.reflect。NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method. java:606) 在 org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:731)

我想了解导致此错误的原因以及是否有其他方法可以完成我想做的事情。

0 投票
1 回答
338 浏览

apache-spark - CDH5.4.2 spark 可以在 spark-shell 中使用 HiveContent 但无法打开 spark-sql

我正在使用 CDH5.4.2 的 spark(standalone)

复制hive-site.xml到后$SPARK_HOME/conf,我可以从 hive 中查询spark-shell,如下所示:

scala> val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc); hiveContext: org.apache.spark.sql.hive.HiveContext = org.apache.spark.sql.hive.HiveContext@6c6f3a15 scala> hiveContext.sql("show tables").show();

但是当我打开时spark-sql,它显示错误:

java.lang.ClassNotFoundException:org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver 无法加载主类 org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver。

您需要使用 -Phive 和 -Phive-thriftserver 构建 Spark。

spark-shell和有什么不同spark-sql?如果 cdh 的 spark 不支持 hive,我为什么可以使用HiveConext

0 投票
1 回答
670 浏览

hadoop - HiveContext 在 Oozie 中不起作用

我试图使用 HiveContext 对象从我的 spark 代码中运行一些配置单元查询。当我使用 spark submit 从命令行运行它时,它工作正常。但是,当我尝试从 oozie 工作流中运行相同的异常时,我得到了以下异常。

0 投票
0 回答
408 浏览

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

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

不生成数据的查询:

工作正常的查询:

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

我在 YARN 上运行 Spark 1.5

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

0 投票
0 回答
61 浏览

hadoop - Ubuntu 上的 Spark 1.5 - HiveContext 不起作用

我在谷歌计算引擎上部署了一个带有 bdutil 的 hadoop 集群。
我的配置
- 操作系统:Ubuntu 14
- Spark:1.5
- Hive:0.12
- 1 个主节点和 2 个工作节点

Hive 元存储配置: 在此处输入图像描述

我将hive-site.xml从 hive 复制到$SPARK_HOME/conf/hive-site.xml(仅在主节点上)

当我尝试在 Pyspark shell 中使用 HiveContext 时,我收到以下消息错误:

在此处输入图像描述

...

在此处输入图像描述

有人知道出了什么问题吗?

先感谢您

0 投票
0 回答
333 浏览

apache-spark - 在 Spark 中读取配置单元表时如何增加分区数

因此,我正在尝试使用 hiveContext 读取 Spark 中的配置单元表。该作业基本上是将两个表中的数据读取到两个 Dataframe 中,然后将其转换为 RDD。然后,我根据一个共同的密钥加入他们。但是,由于 MetadataFetchFailException(org.apache.spark.shuffle.MetadataFetchFailedException: Missing an output location for shuffle? 的可能原因是什么?),此连接失败。

我想通过将我的数据传播到其他节点来避免这种情况。目前,即使我有 800 个执行程序,大多数数据也被读入 10 个节点,每个节点都使用 > 50% 的内存。

问题是,如何在读取操作期间将数据分散到更多分区?我不想稍后重新分区。

0 投票
1 回答
2275 浏览

hive - Spark HiveContext - 从外部分区 Hive 表分隔符问题读取

我有一个带有底层文件 ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' 的外部分区 Hive 表 直接通过 Hive 读取数据就可以了,但是当使用 Spark 的 Dataframe API 时,分隔符 '|' 不予考虑。

创建外部分区表:

创建仅包含一行的数据文件并将其放置到外部分区表位置:

使分区处于活动状态:

完整性检查:

火花代码:

dataFrame.show() 输出:

0 投票
1 回答
3607 浏览

apache-spark - HiveException:无法创建火花客户端

1)我创建了一个 sql 文件,我们从两个不同的配置单元表中收集数据并插入到一个配置单元表中,

2) 我们正在使用 shell 脚本调用这个 SQL 文件

3)样品火花设置:

4)样本 Hive 查询:

5)示例脚本:

0 投票
1 回答
367 浏览

apache-spark - 使用 spark hivecontext 读取外部 hive 分区表的问题

我有一个外部配置单元分区表,我正在尝试使用 HiveContext 从 Spark 读取。但我得到空值。

val maxClose = hiveContext.sql("select max(Close) from stock_partitioned_data where symbol = 'AAPL'"); maxClose.collect().foreach (println)

但是,如果我直接从配置单元控制台执行此操作,我会得到结果。

我得到 count(*) 就好了,但是查询列值和最大值为空。

0 投票
1 回答
3060 浏览

apache-spark - 如何划分范围中的数字列并为apache spark中的每个范围分配标签?

我有以下火花数据框:

我需要查看weekly_sale 列中的以下间隔项目中的哪个:

所以我想要的输出是这样的:

任何 pyspark、spark.sql 和 Hive 上下文实现都会对我有所帮助。