问题标签 [spark-hive]
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 sql 操作?
我有一个大型配置单元表(约 90 亿条记录和约 45GB 的兽人格式)。我正在使用 spark sql 对表进行一些分析。但是对此进行任何操作需要太多时间。只需对输入数据框本身进行计数就需要大约 11 分钟才能完成。仅任何一列的 min、max 和 avg 都需要超过一个半小时才能完成。
我正在研究一个资源有限的集群(因为它是唯一可用的集群),共有 9 个执行程序,每个执行程序有 2 个核心,每个执行程序有 5GB 内存,分布在 3 个物理节点上。
有什么方法可以优化这一点,比如将同一集群上每列上所有聚合函数的时间缩短到至少 30 分钟以内,或者增加我的资源是唯一的方法?我个人不太热衷于这样做。我遇到的一种加快数据帧操作的解决方案是缓存它们。但在我的情况下,我认为这不是一个可行的选择。
我遇到的所有现实世界场景都使用巨大的集群来处理这种负载。
任何帮助表示赞赏。我在独立模式下使用 spark 1.6.0 和 kryo 序列化程序。
apache-spark - 使用 spark-submit YARN 集群模式时缺少 hive-site
使用 HDP 2.5.3,我一直在尝试调试一些 YARN 容器类路径问题。
由于 HDP 包含 Spark 1.6 和 2.0.0,因此存在一些冲突的版本
我支持的用户能够成功地在 YARN 模式下将 Spark2 与 Hive 查询一起使用client
,但不是从cluster
模式下,他们会收到有关未找到表的错误,或者类似的错误,因为未建立 Metastore 连接。
我猜想设置--driver-class-path /etc/spark2/conf:/etc/hive/conf
或传递--files /etc/spark2/conf/hive-site.xml
之后spark-submit
会起作用,但为什么还没有hive-site.xml
从conf
文件夹中加载?
根据Hortonworks docs,说hive-site
应该放在$SPARK_HOME/conf
,它是...
例如,我看到hdfs-site.xml
和core-site.xml
以及属于 的其他文件,HADOOP_CONF_DIR
这是来自 YARN UI 容器信息的文件。
如您所见,hive-site
不存在,即使我肯定需要conf/hive-site.xml
spark-submit
所以,我不认为我应该将 hive-site分开放置,但我的HADOOP_CONF_DIR
问题HIVE_CONF_DIR
是我们如何让 Spark2 拾取hive-site.xml
而不需要在运行时手动将其作为参数传递?
编辑自然,因为我使用的是 HDP,所以我使用的是 Ambari。之前的集群管理员已经在所有机器上安装了 Spark2 客户端,因此所有可能成为 Spark 驱动程序的 YARN 节点管理器都应该具有相同的配置文件
hadoop - 从 spark master UI 清除 Spark Job 历史记录
我正在研究火花,我想通过清除所有以前的失败/完成的作业来清除我的火花主 UI。我无法弄清楚如何做到这一点?我尝试从 hdfs 中删除日志,但作业条目仍显示在 UI 上。
java - 创建 SQLContext 对象时,构造函数 HiveContext(JavaSparkContext) 未定义错误
我正在尝试使用 JavaSparkContext 对象创建 SQL 上下文对象,因为它的参数如下:
Eclipse 抛出一个错误说:
但是我在互联网上查找的所有示例,包括文档都使用 JavaSparkContext 作为参数。我错过了什么吗?
Maven依赖:
apache-spark - 声明的包“org.apache.hive.service.cli.thrift”与预期的包“java.org.apache.hive.service.cli.thrift”不匹配
我将火花源导入到 Eclipse:
但是我遇到了一些错误:
声明的包“org.apache.hive.service.cli.thrift”与预期的包“java.org.apache.hive.service.cli.thrift”不匹配
我应该怎么办?
scala - 使用 Spark Session 使用 SparkSQL 运行依赖查询
我们有 3 个查询目前正在 HIVE 上运行。
使用 Spark 2.1.0
我们正在尝试使用 Spark SQL 运行它,但使用 SparkSession(比如用 Scala 代码包装一个 Jar,然后使用 Spark-Submit 提交)
现在举个例子:Query-1 使用 3 个表(表 - a、b 和 c)并插入到表中 --> Output_Table_1
Query-2 使用很少的其他表(执行连接)和output_table_1,它是从 Query-1 的输出中填充的。这给出了output_table_2
同样,Query-3 使用很少的表,可能使用也可能不使用output_table_1和/或output_table_2(我们不确定是否仍在设计)
目前我这样做的方式是将所有查询写入属性文件并def main
使用读取它Typesafe.ConfigFactory
(请建议是否有更好的方法)
def main(){}
我正在做的是:
现在,当我执行以下步骤时,它会引发错误 - 未找到 output_table_1
同样对于第三个查询和表,我得到相同的错误。所以基本上我正在尝试链接查询并在后面的查询中使用初始查询的输出。我不能将查询分解成更小的数据框,因为它们很复杂。
如何继续这种情况。还让我知道实现这一目标的最佳实践是什么?
scala - 在提供依赖项时尝试针对 HiveContext 进行测试会抛出 java.lang.SecurityException
运行创建火花上下文的单元测试时,我得到一个 java.lang.SecurityException
. 我了解原因是什么,但不知道如何追踪如何解决它。这是多个依赖项共享javax.servlet
具有不同签名者信息的同一包。
我创建了一个示例项目来演示这一点。
有许多相同问题的示例都建议了 和 的排除规则org.mortonbay.jetty
,javax.servlet
但似乎没有一个对我有用。
当我spark-submit
在构建的sbt assembly
jar 上使用它的工作文件时,我无法为它编写测试。
apache-spark - 如何将 spark.writeStream 结果保存在配置单元中?
我正在使用spark.readStream
从 Kafka 读取数据并在生成的数据帧上运行爆炸。我正在尝试将爆炸的结果保存在 Hive 表中,但我找不到任何解决方案。我尝试了以下方法但它不起作用(它运行但我没有看到创建任何新分区)
mysql - Apache Spark with Hive on Eclipse IDE throw the privilege error - A read-only database issue
I try to test Apache Spark with Hive integration on Eclipse IDE. These are the versions of each projects - Hadoop 2.7.4, Spark 2.2 and hive-2.3.2 with MySQL 5.7 on Eclipse Mars IDE. The contents of hive-site.xml is like below,
And the spark-hive Java API code on Eclipse IDE are
This code throw the exception:
But when Eclipse IDE be executed on root mode, no exceptions are thrown. I think this issue is related with privileges problem. However I have no idea which process bring this issue. And one more issue is the exception is throws from Apache Derby, not MySQL. My MySQL configuration on hive-site.xml seems to be wrong.
mysql - 如何在 Spark 1.6 中使用 SQL 子查询
如何将以下查询转换为与不支持子查询的 Spark 1.6 兼容:
我读过它支持 FROM 中指定的子查询,但不支持 WHERE 但以下也不起作用:
我的总体目标是加入两个表,尽管只从 table2 获取最后一条记录。SQL 语句是有效的,但当我在 Spark 的 HiveContext.sql 中使用它们时,我得到一个分析异常。