【大数据分析】Spark SQL查询:使用SQL命令
对于使用关系型数据库或分布式数据库的用户可能更容易和更自然地使用SQL,比如Hive。在Spark SQL编写SQL命令时,它们将被转换为DataFrame上的操作。通过连接到Spark的Thrift服务器,它们可以通过标准的JDBC或ODBC协议从应用服务器连接到Spark。Spark支持两种SQL方言:SQL和HQL。Spark社区推荐的是HQL,因为HQL具有更丰富的功能。要使用HQL,需要使用Hive支持的Spark发行版。除了带来更强大的SQL解析器之外,Hive支持可让用户访问现有的Hive表,并使用现有的社区构建的Hive UDF。通过在构建SparkSession时在Builder对象上调用enableHiveSupport(),可以在Spark上启动Hive功能。
val spark = SparkSession.builder().enableHiveSupport().getOrCreate()
1、表目录和Hive metadata
大多数表SQL操作都是以名称引用的。当使用Spark SQL来执行SQL查询时,可以通过将DataFrame注册为表来引用DataFrame。当这样做时,Spark将表定义存储在表目录中。对于不支持Hive的Spark,表目录实现为简单的内存映射,这意味着表信息存在于驱动程序的内存中,并且随着Spark会话的消失而消失。另外,Hive支持的SparkSession使用Hive metastore来实现表目录。Hive metastore是一个持久性数据库,所以即使会话消失了,DataFrame定义仍然可用。
(1)注册临时表
不管是不是Hive支持的Spark版本,都可以使用createOrRepl
【大数据分析】Spark SQL查询:使用SQL命令相关推荐
- SQL考点之SQL查询、SQL支持数据类型(设计大题)
如题:2019年10月 除前两问是涉及关系代数的内容外,其他都是SQL的查询的考察,足见这部分的重要性. 其实是完成了下面的复习后,再来填的答案: 26.看到"女"这个条件,应该想 ...
- 提高SQL查询效率(SQL优化)
我们要做到不但会写SQL,还要做到写出性能优良的SQL语句. (1)选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句 ...
- t–sql pl–sql_糟糕SQL查询设计– SQL查询性能的杀手–基本知识
t–sql pl–sql Depending on the performance problem cause, fixing poor SQL query design can be quick o ...
- spark大数据分析:spark Struct Strreaming(21) 数据流处理
文章目录 根据文件生成工作流 根据kafka生成工作流 以kafka为数据源,通过Batch模式生成工作流 根据指定速率生成工作流 根据文件生成工作流 当文件夹命名为"key=value&q ...
- oracle SQL以结尾函数,Oracle学习笔记--SQL查询和SQL函数(转) -- 迷失de天空 -- 编程爱好者......
A: 数据定义语言: 用于改变数据库结构,包括创建,修改,删除数据库对象 创建表: Create Table 表名 ( 列名 列类型, 列名 列类型, -- ) 例: Create Table ven ...
- sql查询php,SQL查询或PHP?
我想看看哪里做错了,但我不能找到问题,我不能更新我的数据库,有人可以看到我的代码什么是缺少的?总是说我"数据库错误" 码: if(isset($_POST['enviar'])) ...
- 删除表的sql命令是什么_【技术干货】30个最适合初学者的SQL查询
毫无疑问,SQL或结构化查询语言是最流行的编程语言之一,尤其是因为它具有访问和修改数据库中数据的功能.SQL与数据库接口的基本用法是其流行的最重要原因. 关于SQL的最基本方面之一就是查询.基本上,S ...
- sql查询前50条_您必须知道的前50条SQL查询
sql查询前50条 In this article, we'll go over the most common SQL queries that you should know to be able ...
- asp sql查询过滤空格_【技术干货】30个最适合初学者的SQL查询
海牛学院的 | 第 598 期 本文预计阅读 | 11 分钟 毫无疑问,SQL或结构化查询语言是最流行的编程语言之一,尤其是因为它具有访问和修改数据库中数据的功能.SQL与数据库接口的基本用法是其流行 ...
- SQL查询入门(上篇)
SQL语言是一门简单易学却又功能强大的语言,它能让你快速上手并写出比较复杂的查询语句.但对于大多数开发者来说,使用SQL查询数据库并没有一个抽象的过程和一个合理的步骤,这很可能会使在写一些特定的SQL ...
最新文章
- 操作系统2--操作系统结构
- OKEx比特币现金震荡 巴西央行公布新区块链项目
- 从CCF的改革看中国科技社团的改革
- js和php获取页面的url信息
- socket中使用多线程创建并发服务器
- 32个最热CPLD-FPGA论坛
- 2020 CSP-S 游记
- 【数据结构与算法】哈夫曼树的Java实现
- nagios安装配置pnp4nagios-0.6.6
- 面向对象的程序开发技术C++教学课件系列之二
- oracle下的数据库实例、表空间、用户及其表的区分
- 【Vue】—Vue的模板语法
- phython拟合曲面方程_python数据关系型图表散点图系列曲面拟合图
- CMake 使用总结(转载)
- kvm虚拟化管理平台WebVirtMgr部署-完整记录(安装Windows虚拟机)-(4)
- python面试笔试题
- 最低报酬率计算机公式,股票报酬率计算公式
- autoit临时资料——学习的部分会更新
- 什么是建站程序,建站程序有哪些?
- 回溯法求解图着色问题