问题标签 [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.
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依赖:-
谢谢
scala - 如何使用 spark scala 将 HiveContext 作为参数从一个函数传递给另一个函数
我有一个场景,我需要将HiveContext
其作为参数传递给另一个函数。以下是我的代码以及我遇到问题的地方:
根据上面的代码,我无法将HiveContext
变量“ hc
”从 main 传递给另一个函数。还尝试过:
def test(hc:HiveContext, fileName:String){}
但两者都显示错误。
spark-dataframe - 使用 hadoop spark1.6 数据框计算中位数,平均值,无法启动数据库“metastore_db”
spark-shell --packages com.databricks:spark-csv_2.11:1.2.0 1. 使用 SQLContext ~~~~~~~~~~~~~~~~~~~~~ 1. 导入 org.apache。 spark.sql.SQLContext 2. val sqlctx = new SQLContext(sc) 3. 导入 sqlctx._
val df = sqlctx.read.format("com.databricks.spark.csv").option("inferScheme","true").option("delimiter",";").option("header","true ").load("/user/cloudera/data.csv")
df.select(avg($"col1")).show() // 这很好用
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)
使用 HiveContext ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 所以尝试使用配置单元上下文 scala> import org.apache.spark .sql.hive.HiveContext 导入 org.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._
apache-spark - 如何在 Pyspark 中停止或删除 HiveContext?
我面临以下问题:
这里的问题是 HiveContext 的持久性(即如果我执行 hctx._get_hive_ctx() 它返回 JavaObject id=Id)所以如果我在同一个脚本中多次使用 my_func 它将在第二次失败。我会尝试删除当我停止 SparkContext 时显然没有删除的 HiveContext。
谢谢
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
错误
apache-spark - 如何在执行程序的流式传输中使用 hiveContext?
我正在尝试在 Spark 流应用程序(1.6)中使用 HiveContext 的实例,但它失败并出现以下异常:
org.apache.spark.sql.SQLConf.getConf(SQLConf.scala:638) 处的 java.lang.NullPointerException
特别是,我想创建一个数据框并为每个处理的消息执行查询。
有人可以帮助我吗?
apache-spark - Spark HiveContext vs HbaseContext?
我有一个大小为 10 PB 的数据集。我当前的数据在我使用 Spark的HBaseHbaseContext
中,但性能不佳。
将数据从Spark 迁移HbaseContext
到HiveContext
Spark 会有用吗?
hadoop - registerTempTable() 不注册所有记录
我试图创建一个函数,该函数将从关系数据库中获取数据并将它们插入 Hive 表中。由于我使用的是 Spark 1.6,所以我需要注册一个临时表,因为直接将数据帧写入 Hive 表与 Hive 不兼容:
RDB 中的employees
表包含几千条记录。运行我的程序后,我可以看到创建了两个镶木地板文件:
- 一个文件,在我的代码完成后创建
- 两个小时后创建的文件
因此,当我在作业完成后尝试从 Hive 表中进行选择时,会丢失记录。
我有多个想法,这可能会导致问题:
- 可能是由于懒惰评估造成的
registerTempTable
吗?Spark 是否认为我不使用这些记录?我熟悉生成器中的惰性求值,但我无法想象惰性求值在registerTempTable
函数中究竟是如何工作的。 - 它是否将临时表保存在
tmp
文件夹中?会不会是空间不够造成的?我应该使用该dropTempTable
功能吗? - 使用起来更安全
createOrReplaceTempView
(尽管registerTempTable
在 Spark 2 中已弃用)。
更多信息
- 在 Yarn 上使用 Spark 1.6 (Hadoop 2.6.0-cdh5.8.0)
- 使用不同的 Hive 上下文运行多个作业,但我没有跨上下文访问临时表
python - 在 PySpark 中使用 HiveContext 进行测试时如何防止内存泄漏
我使用 pyspark 进行一些数据处理并利用 HiveContext 作为窗口函数。
为了测试代码,我使用了 TestHiveContext,基本上是从 pyspark 源代码中复制实现:
https://spark.apache.org/docs/preview/api/python/_modules/pyspark/sql/context.html
然后我的测试继承了可以访问上下文的基类。
这工作了一段时间。但是,随着我添加更多测试,我开始注意到一些间歇性进程耗尽内存问题。现在我无法在没有失败的情况下运行测试套件。
我在每次测试运行后明确停止火花上下文,但这似乎并没有杀死 HiveContext。因此,我相信每次运行新测试时它都会不断创建新的 HiveContexts,并且不会删除导致内存泄漏的旧的 HiveContexts。
关于如何拆除基类以杀死 HiveContext 的任何建议?
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