简单说说SQL和HQL的区别

一,查询对象
sql是面向数据库表查询
hql是面向对象查询
二查询语句
比如查询一个年龄为20的用户信息(数据库表为user,对应的实体类为User)
sql: from 表名 where 表中字段
select * from user where age=20;
hql: from 类名+类对象 where 对象属性
from User where age=20;
三注意点:
hql因为是面向对象,查询的字段具有对应关系,所以对大小写敏感例如where后面的对象属性;
from User age=20 和from User Age=20
第一个会成功,第二个会失败,因为该实体类中无Age属性

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark SQLHQL(Hive 查询语言)在某些方面是相似的,因为 Spark SQL 借鉴了一些 Hive 的语法和功能。但是,它们也有一些区别。下面是对它们之间的主要区别的简要解释: 1. 执行引擎: - Spark SQL 是基于 Spark 引擎的组件,它提供了对结构化数据的处理能力,并支持批处理和实时流处理。 - HQL 是 Hive 的查询语言,基于 MapReduce 或 Tez 这样的底层执行引擎,适用于大规模离线数据处理。 2. 数据存储: - Spark SQL 可以直接读取和处理多种数据源,包括文件系统(如HDFS,S3),关系型数据库(如MySQL,PostgreSQL),NoSQL 数据库(如Cassandra,MongoDB)等。 - HQL 主要针对存储在 Hive 中的数据进行查询,它使用 Hive Metastore 来管理元数据和表结构,并将数据存储在分布式文件系统中。 3. 语法特性: - Spark SQL 支持标准的 SQL 查询语法,并提供了 DataFrame 和 Dataset API 来进行结构化数据处理和分析。 - HQL 基于 SQL 扩展了一些特定的语法和功能,例如自定义函数(UDF/UDAF/UDTF)、分区表、桶表等。 4. 生态系统和集成: - Spark SQL 作为 Spark 的一部分,可以与 Spark 的其他组件(如 Spark Streaming、MLlib 等)进行无缝集成。 - HQL 是 Hive 的一部分,可以与 Hive 的生态系统(如 Hive 储存格式、Hive UDF/UDAF/UDTF 等)进行集成。 尽管 Spark SQLHQL 在某些方面相似,但它们的执行引擎、数据存储、语法特性和生态系统集成等方面存在一些差异。选择使用哪个取决于你的具体需求和环境。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值