Hive 上的 Spark SQL 查询执行

2023-12-01

我是 Spark SQL 新手,但了解 Hive 查询执行框架。我想了解spark如何执行sql查询(技术说明)?

如果我按照命令开火

val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
sqlContext.sql("select count(distinct(id)) from test.emp").collect

在 Hive 中它会被转换成 Map-Reduce 作业,但是它在 Spark 中如何执行呢?

Hive Metastore 将如何发挥作用?

提前致谢。


简单回答你的问题:不,HiveContext不会启动MR作业。您的 SQL 查询仍将使用 Spark 引擎

我将引用 Spark 文档:

除了基本 SQLContext 之外,您还可以创建 HiveContext,它提供基本 SQLContext 所提供功能的超集。其他功能包括使用更完整的 HiveQL 解析器编写查询的能力、访问 Hive UDF 以及从 Hive 表读取数据的能力。要使用 HiveContext,您不需要现有的 Hive 设置,并且 SQLContext 可用的所有数据源仍然可用。 HiveContext 仅单独打包,以避免在默认 Spark 构建中包含 Hive 的所有依赖项。如果这些依赖项对您的应用程序来说不是问题,那么建议在 Spark 1.3 版本中使用 HiveContext。未来的版本将重点关注使 SQLContext 达到与 HiveContext 相同的功能

因此,spark 使用 HiveContext 来增强查询解析和对现有 Hive 表的访问,甚至将结果持久化为 DataFrames/Tables。此外,实际上,Hive 可以使用 Spark 作为其执行引擎,而不是使用 MR 或 tez。

Hive 元存储是有关 Hive 表的元数据。当使用 HiveContext Spark 时可以使用此元存储服务。参考文档:http://spark.apache.org/docs/latest/sql-programming-guide.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive 上的 Spark SQL 查询执行 的相关文章

随机推荐

  • 原则 2 限制与 DQL 的关联

    Doctrine 2 1 中似乎存在一个疏忽 即返回子集并不容易 为协会收集 http www doctrine project org docs orm 2 1 en reference limitations and known iss
  • 如何从超类创建子类的实例?

    我正在创建一个类及其子类 其中需要调用父类的静态方法以返回子实例 class Animal static findOne this has to return either an instance of Human or an instan
  • 如何避免使用自动 Code First 迁移重新创建现有数据库

    我正在使用 EF6 并且遇到数据库自动迁移问题 数据库存在 并且数据库中没有架构或数据更改 但由于某种奇怪的原因 应用程序似乎试图在机器重新启动时在数据库中重新创建现有表 并因此导致错误 我的问题是 为什么在没有数据库架构更改的情况下会自动
  • 单击剧作家中的浏览器权限弹出窗口,无需 grantPermission

    我正在尝试和剧作家一起写测试 我的应用程序使用摄像头和麦克风 所以 我允许他们使用context grantPermissions camera microphone 它适用于 Chrome 但不适用于 Firefox 和 Safari 尚
  • Android volley 处理重定向

    我最近开始使用 Google 的 Volley lib 来处理我的网络请求 我的一个请求收到重定向错误 301 所以我的问题是 volley 是否可以自动处理重定向 或者我是否必须手动处理它parseNetworkError或使用某种Ret
  • 将 gprof 与 pthread 结合使用

    gprof 可以用来分析使用 pthread 的多线程程序吗 也就是说 它的输出是否包括所有线程所使用的时间 是的 借助所描述的解决方法是可能的here
  • 如何将类转换为 Dictionary

    我可以将 Class 转换为 Dictionary 吗 在字典中我希望我的类属性为keys以及特定财产的价值value 假设我的班级是 public class Location public string city get set pub
  • JavaScript 减少两个以上项目的抛出错误

    我有这个数组 const arr someProp amount 10 someProp amount 12 然后减少 fn const sum arr reduce prev curr gt prev someProp 0 amount
  • 使用 awk 最长的行

    有人可以展示如何使用 awk 命令来识别文本文件中最长的行 Thanks 要打印最长的行 awk length gt m m length a 0 END print a input file 简单地通过行号来识别最长的行 awk leng
  • JQ:将键替换为另一个文件中的相应值

    我正在尝试将原始 JSON 中的键值替换为另一个文档中具有相应键的对象的值 这是我的两个文件 文件一 KaM0otlgWxXniYiacFe LNxx1IiX6oYTxJ4IXx2 true KlJTvbfonIMI YfS5R LNxx1
  • 替换 Excel 文件页眉和页脚上的文本

    我想检查 Excel 工作表上的页眉和页脚 并将给定字符串的所有出现位置替换为另一个字符串 如何使用 vba 来完成此操作 你需要使用才能使用Sheet PageSetup财产 我假设您正在寻找中心页眉和页脚 以下内容将为您工作 Sub L
  • 使用 UIBezierPath 擦除线条图

    使用 UIBezierPath 做了一个简单的线条绘制应用程序 但现在需要一种方法来擦除用 UIBezierPath 绘制的线条 有没有办法实现橡皮擦功能来删除线条画 如果您使用图像作为背景 那么您可以将相同的图像设置为画笔图案来绘制贝塞尔
  • SQL Presto:不支持相关子查询

    考虑表x id val 1 100 3 300 和表y id 1 2 3 对于每一行y我想要val from x哪里的id从 y 等于或最接近之前id from x像那样 id val 1 100 2 100 3 300 我试图找到与相关子
  • R 中的自举相关

    我正在尝试在 R 中进行引导相关性 我有两个变量 Var1 和 Var2 我想获得 Pearson 相关性的自举 p value my variables look like this x y 1 6080522 1 707642 2 1
  • SQL Group By 和 Order By

    我有一个标签表 想从列表中获取计数最高的标签 示例数据如下所示 id 1 tag night id 2 tag awesome id 3 tag night using SELECT COUNT Tag from images tags G
  • 基于条件的最大值

    我在 Excel 中有一个模拟数据集 我想打印最近的日期 但我希望它是最新的日期 以便类型为 引用 Type Date referral 1 6 2017 classroom 1 7 2017 referral 1 8 2017 class
  • Mac 上的 jshint 和 sublimelinter 设置配置

    我正在尝试在我的 Mac 上配置 sublimelinter 特别是 jshint 在我的 Windows 版本的 SublimeText 上有以下部分SublimeLinter sublime settings jshint option
  • Terraform:通知 SNS 的 CloudWatch 事件

    我正在学习 TF 并尝试应用一个基础设施来创建 一个简单的 lambda 函数 SNS 话题 获取 lambda 来订阅 SNS 主题 以一定时间间隔向主题发布消息的 Cloud Watch Event Cloud Watch Log Gr
  • XDocument.Validate 始终成功

    我有一个架构文件 它没有定义任何目标命名空间 即它的定义如下所示
  • Hive 上的 Spark SQL 查询执行

    我是 Spark SQL 新手 但了解 Hive 查询执行框架 我想了解spark如何执行sql查询 技术说明 如果我按照命令开火 val sqlContext new org apache spark sql hive HiveConte