一、数据库类型
数据库是长期存放在计算机内、有组织的、可共享的大量数据的集合。数据库中的数据按照一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易拓展性,并可为各种用户共享。主要分为关系型数据库和非关系型数据库。
关系型数据库:
关系型数据库是一种基于关系模型的数据库管理系统(DBMS)。它使用关系(表)来组织数据,并通过表之间的关联建立数据之间的联系。关系型数据库使用结构化查询语言(SQL)来进行数据的操作和查询。
在关系型数据库中,数据被存储在表中,每个表由行和列组成。每行代表一个记录,而每列代表记录的属性。表之间的关系通常通过使用主键和外键来建立。
主键是用来唯一标识表中每个记录的字段,它确保了每个记录都有唯一的标识。外键是一个用来建立表之间关系的字段,它指向另一个表的主键。
关系型数据库具有以下特点:
- 结构化:数据以表格形式存储,每个表都有预定义的列和数据类型。
- 一致性:数据库遵循事先定义好的规则,确保数据的一致性和完整性。
- 可扩展性:可以通过添加新的表和关系来扩展数据库。
- 数据安全:提供安全性控制机制,可以对用户进行认证和授权。
- 高性能:通过索引和优化查询等技术来提高数据检索和操作的效率。
关系型数据库常见的实现包括MySQL、Oracle、Microsoft SQL Server和PostgreSQL等。它们在企业应用和数据管理中被广泛使用,适用于各种规模的数据存储和处理需求。
非关系型数据库:
非关系型数据库(NoSQL)是指不使用传统的关系模型的数据库管理系统。它们的设计目标是解决关系型数据库在某些情况下的限制和性能瓶颈。
非关系型数据库的特点包括:
- 非结构化:数据可以以键值对、文档、列族或图等形式存储,不需要预先定义表结构。
- 高可扩展性:可以在集群中分布式地存储和处理数据,以满足大规模数据的需求。
- 灵活性:支持动态添加和修改数据模式,方便应对需求的变化。
- 高性能:针对特定的数据访问模式进行了优化,可以提供高速的数据读写操作。
- 弱一致性:一般情况下,非关系型数据库追求最终一致性而非强一致性。
非关系型数据库根据数据的存储模式可以分为多种类型,包括:
- 键值存储数据库(Key-value Stores):使用简单的键值对进行数据存储,如Redis、Memcached等。
- 文档数据库(Document Databases):以文档形式存储数据,如MongoDB、CouchDB等。
- 列存储数据库(Column-family Stores):以列族的形式存储数据,如Cassandra、HBase等。
- 图数据库(Graph Databases):以图结构存储数据,适用于处理复杂的关系和网络数据,如Neo4j、RedisGraph等。
非关系型数据库通常适用于需要处理大量结构不确定、数据规模庞大且读写需求频繁的应用场景,如社交网络、大数据分析、实时数据处理等。但它们也可能面临一些挑战,如缺乏标准化查询语言、较弱的数据一致性保证和存储成本较高等。因此,在选择数据库时,需要根据具体的应用需求和数据特点来评估选择关系型数据库还是非关系型数据库。
HQL:Hive SQL
从概念上看:Hive SQL是基于hdfs的一个数据仓库工具,它是MapReduce的一个封装,底层就是MapReduce程序。Hive可以将结构化的数据文件(按照各字段分类的数据)映射成一张虚表,并提供类SQL查询功能。
从功能上看:Hive就是把sql语句转化为MapReduce程序,Hive没有服务端,它本质是Hadoop或者说HDFS的一个客户端,对HDFS的数据和Metastore的元数据进行操作。
Hive SQL要点
Hive SQL数据类型
类别 | 类型 | 长度 | 备注 |
数字类 | TINYINT | 1字节 | 有符号整型 |
SMALLINT | 2字节 | 有符号整型 | |
INT | 4字节 | 有符号整型(-2147483648到2147483647) | |
BIGINT | 8字节 | 有符号整型(-9223372036854775808到9223372036854775807) | |
FLOAT | 4字节 | 有符号单精度浮点数 | |
DOUBLE | 8字节 | 有符号双精度浮点数 | |
DECIMAL | -- | 可带小数的精确数字字符串 | |
日期时间类 | TIMESTAMP | -- | 时间戳,内容格式:yyyy-mm-dd hh:mm:ss[.f...] |
DATE | -- | 日期,内容格式:YYYYMMDD | |
INTERVAL | -- | -- | |
字符串类 | STRING | -- | 字符串 |
VARCHAR | 字符数范围:1-65535 | 长度不定字符串 | |
CHAR | 最大的字符数:255 | 长度固定字符串 | |
Misc类 | BOOLEAN | -- | 布尔类型 TRUE/FALSE |
Hive SQL时间戳(timestamp)
数据内容格式为:yyyy-MM-dd HH:mm:ss
unix_time/unix_timestamp时间转换,字符串转时间戳,时间戳转字符串
1790年1月1日00:00:00代表这个时间节点至今的秒数16:22
Hive SQL执行顺序
先乘除后加减,先算括号里的
from——>where——>group by——>聚合函数——>having——>order by——>limit文章来源:https://www.toymoban.com/news/detail-717982.html
在天算建模平台中,自定义SQL(速度较慢)、过滤(只写条件)、添加字段这三个算子可使用SQL语句文章来源地址https://www.toymoban.com/news/detail-717982.html
到了这里,关于Hive SQL(一)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!