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

apache-spark - spark 1.6 hive 上下文 setConf 问题

我在运行将数据加载到配置单元上下文中的分区表的 sql 时遇到了麻烦,我确实设置了dynamic partition = true但我仍然遇到问题。


SQL: insert overwrite table target_table PARTITION (column1,column2) select * , deletion_flag ,'2018-12-23' as date_feed from source_table


Hive setconf:-


错误:

org.apache.hadoop.hive.ql.metadata.Hive.loadDynamicPartitions(org.apache.hadoop.fs.Path, java.lang.String, java.util.Map, boolean, int, boolean, boolean, boolean


Maven依赖:-

谢谢

0 投票
1 回答
297 浏览

scala - 如何使用 spark scala 将 HiveContext 作为参数从一个函数传递给另一个函数

我有一个场景,我需要将HiveContext其作为参数传递给另一个函数。以下是我的代码以及我遇到问题的地方:

根据上面的代码,我无法将HiveContext变量“ hc”从 main 传递给另一个函数。还尝试过:

def test(hc:HiveContext, fileName:String){} 但两者都显示错误。

0 投票
2 回答
364 浏览

spark-dataframe - 使用 hadoop spark1.6 数据框计算中位数,平均值,无法启动数据库“metastore_db”

spark-shell --packages com.databricks:spark-csv_2.11:1.2.0 1. 使用 SQLContext ~~~~~~~~~~~~~~~~~~~~~ 1. 导入 o​​rg.apache。 spark.sql.SQLContext 2. val sqlctx = new SQLContext(sc) 3. 导入 sqlctx._

  1. val df = sqlctx.read.format("com.databricks.spark.csv").option("inferScheme","true").option("delimiter",";").option("header","true ").load("/user/cloudera/data.csv")

  2. df.select(avg($"col1")).show() // 这很好用

  3. sqlctx.sql("select percentile_approx(balance,0.5) as median from port_bank_table").show() or sqlctx.sql("select percentile(balance,0.5) as median from port_bank_table").show() // 两者都不是工作,得到以下错误

    org.apache.spark.sql.AnalysisException:未定义的函数 percentile_approx;第 0 行 pos 0 在 org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry$$anonfun$2.apply(FunctionRegistry.scala:65) 在 org.apache.spark.sql.catalyst.analysis.SimpleFunctionRegistry$$anonfun$2。申请(FunctionRegistry.scala:65)

  4. 使用 HiveContext ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 所以尝试使用配置单元上下文 scala> import org.apache.spark .sql.hive.HiveContext 导入 o​​rg.apache.spark.sql.hive.HiveContext

scala> val hivectx = new HiveContext(sc) 18/01/09 22:51:06 WARN metastore.ObjectStore: 无法获取数据库默认值,返回 NoSuchObjectException hivectx: org.apache.spark.sql.hive.HiveContext = org.apache .spark.sql.hive.HiveContext@5be91161

scala> 导入 hivectx._ 导入 hivectx._

0 投票
1 回答
1075 浏览

apache-spark - 如何在 Pyspark 中停止或删除 HiveContext?

我面临以下问题:

这里的问题是 HiveContext 的持久性(即如果我执行 hctx._get_hive_ctx() 它返回 JavaObject id=Id)所以如果我在同一个脚本中多次使用 my_func 它将在第二次失败。我会尝试删除当我停止 SparkContext 时显然没有删除的 HiveContext。

谢谢

0 投票
2 回答
1037 浏览

hivecontext - 无法使用 spark-submit 执行 Hive 查询

我无法使用 spark-submit 命令运行配置单元查询。但是,在 spark-shell 中也是如此。我使用 AWS EMR 作为集群。

下面是我用 eclipse scala IDE 编写的代码

pom.xml

火花提交命令

spark-submit --master local[2] --class HiveTest ./word-count-0.1-SNAPSHOT-jar-with-dependencies.jar

错误

0 投票
1 回答
131 浏览

apache-spark - 如何在执行程序的流式传输中使用 hiveContext?

我正在尝试在 Spark 流应用程序(1.6)中使用 HiveContext 的实例,但它失败并出现以下异常:

org.apache.spark.sql.SQLConf.getConf(SQLConf.scala:638) 处的 java.lang.NullPointerException

特别是,我想创建一个数据框并为每个处理的消息执行查询。

有人可以帮助我吗?

0 投票
2 回答
125 浏览

apache-spark - Spark HiveContext vs HbaseContext?

我有一个大小为 10 PB 的数据集。我当前的数据在我使用 Spark的HBaseHbaseContext中,但性能不佳。

将数据从Spark 迁移HbaseContextHiveContextSpark 会有用吗?

0 投票
1 回答
1016 浏览

hadoop - registerTempTable() 不注册所有记录

我试图创建一个函数,该函数将从关系数据库中获取数据并将它们插入 Hive 表中。由于我使用的是 Spark 1.6,所以我需要注册一个临时表,因为直接将数据帧写入 Hive 表与 Hive 不兼容

RDB 中的employees表包含几千条记录。运行我的程序后,我可以看到创建了两个镶木地板文件:

  • 一个文件,在我的代码完成后创建
  • 两个小时后创建的文件

因此,当我在作业完成后尝试从 Hive 表中进行选择时,会丢失记录。

我有多个想法,这可能会导致问题:

  1. 可能是由于懒惰评估造成的registerTempTable吗?Spark 是否认为我不使用这些记录?我熟悉生成器中的惰性求值,但我无法想象惰性求值在 registerTempTable函数中究竟是如何工作的。
  2. 它是否将临时表保存在tmp文件夹中?会不会是空间不够造成的?我应该使用该dropTempTable功能吗?
  3. 使用起来更安全createOrReplaceTempView(尽管registerTempTable在 Spark 2 中已弃用)。

更多信息

  • 在 Yarn 上使用 Spark 1.6 (Hadoop 2.6.0-cdh5.8.0)
  • 使用不同的 Hive 上下文运行多个作业,但我没有跨上下文访问临时表
0 投票
1 回答
392 浏览

python - 在 PySpark 中使用 HiveContext 进行测试时如何防止内存泄漏

我使用 pyspark 进行一些数据处理并利用 HiveContext 作为窗口函数。

为了测试代码,我使用了 TestHiveContext,基本上是从 pyspark 源代码中复制实现:

https://spark.apache.org/docs/preview/api/python/_modules/pyspark/sql/context.html

然后我的测试继承了可以访问上下文的基类。

这工作了一段时间。但是,随着我添加更多测试,我开始注意到一些间歇性进程耗尽内存问题。现在我无法在没有失败的情况下运行测试套件。

我在每次测试运行后明确停止火花上下文,但这似乎并没有杀死 HiveContext。因此,我相信每次运行新测试时它都会不断创建新的 HiveContexts,并且不会删除导致内存泄漏的旧的 HiveContexts。

关于如何拆除基类以杀死 HiveContext 的任何建议?

0 投票
0 回答
135 浏览

apache-spark - 写入 avro 格式时,pyspark 的 HiveContext 中的查询失败

我正在尝试使用 pyspark 的 HiveContext 将外部表加载为 avro 格式。外部表创建查询在 hive 中运行。但是,相同的查询在配置单元上下文中失败,错误为, org.apache.hadoop.hive.serde2.SerDeException: Encountered exception determining schema. Returning signal schema to indicate problem: null

我的 avro 架构如下。

我的创建表脚本是,

我正在使用 spark-submit 运行下面的代码,

Spark 版本:2.2.0 OpenJDK 版本:1.8.0 Hive 版本:2.3.0