如何做好网站建设销售邯郸网络运营中心电话多少
- 作者: 五速梦信息网
- 时间: 2026年03月21日 09:48
当前位置: 首页 > news >正文
如何做好网站建设销售,邯郸网络运营中心电话多少,有创意的网页,微信的网站怎么做文章目录一、Hive基本概念二、Hive数据类型三、DDL,DML,DQL1 DDL操作2 DML操作3 DQL操作四、分区操作和分桶操作1、分区操作2、分桶操作五、Hive函数六、文件格式和压缩格式一、Hive基本概念
Hive是什么#xff1f; Hive#xff1a;由 Facebook 开源用于解决海量结构化日志的…
文章目录一、Hive基本概念二、Hive数据类型三、DDL,DML,DQL1 DDL操作2 DML操作3 DQL操作四、分区操作和分桶操作1、分区操作2、分桶操作五、Hive函数六、文件格式和压缩格式一、Hive基本概念
Hive是什么 Hive由 Facebook 开源用于解决海量结构化日志的数据统计工具。 Hive 是基于 Hadoop 的一个数据仓库工具可以将结构化的数据文件映射为一张表并提供类 SQL 查询功能。 Hive的本质 Hive的本质是将HQL转化成MR程序。存储在HDFS上计算使用MR引擎运行在yarn上。 Hive架构原理 1用户接口Client CLIcommand-line interface、JDBC/ODBC(jdbc 访问 hive)、WEBUI浏览器访问 hive 2元数据Metastore 元数据包括表名、表所属的数据库默认是 default、表的拥有者、列/分区字段、 表的类型是否是外部表、表的数据所在目录等 默认存储在自带的 derby 数据库中推荐使用 MySQL 存储 Metastore 3驱动器Driver 1.进入程序利用Antlr框架定义HQL的语法规则对HQL完成词法语法解析将HQL转换为为AST(抽象语法树); ⒉遍历AST抽象出查询的基本组成单元QueryBlock 查询块可以理解为最小的查询执行单元; 3.遍历QueryBlock将其转换为OperatorTree(操作树也就是逻辑执行计划)可以理解为不可拆分的一个逻辑执行单元; 4.使用逻辑优化器对OperatorTree(操作树进行逻辑优化。例如合并不必要的ReduceSinkOperator减少Shuffle数据量; 5.遍历OperatorTree转换为TaskTree。也就是翻译为MR任务的流程将逻辑执行计划转换为物理执行计划; 6.使用物理优化器对TaskTree进行物理优化: 7.生成最终的执行计划提交任务到Hadoop集群运行。
二、Hive数据类型 基本数据类型 集合数据类型 类型转换 Hive默认会进行隐式类型转换 隐式类型转换规则如下 1任何整数类型都可以隐式地转换为一个范围更广的类型如 TINYINT 可以转换成INTINT 可以转换成 BIGINT。 2所有整数类型、FLOAT 和 STRING 类型都可以隐式地转换成 DOUBLE。 3TINYINT、SMALLINT、INT 都可以转换为 FLOAT。 4BOOLEAN 类型不可以转换为任何其它的类型。
三、DDL,DML,DQL
1 DDL操作
创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_nameproperty_value, …)]; 创建表CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], …)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], …)] [CLUSTERED BY (col_name, col_name, …) [SORTED BY (col_name [ASC|DESC], …)] INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path] [TBLPROPERTIES (property_nameproperty_value, …)] [AS select_statement]
2字段解释说明 1CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在则抛出异常 用户可以用 IF NOT EXISTS 选项来忽略这个异常。 更多 Java –大数据 –前端 –python 人工智能资料下载可百度访问尚硅谷官网 2EXTERNAL 关键字可以让用户创建一个外部表在建表的同时可以指定一个指向实 际数据的路径LOCATION在删除表的时候内部表的元数据和数据会被一起删除而外 部表只删除元数据不删除数据。 3COMMENT为表和列添加注释。 4PARTITIONED BY 创建分区表 5CLUSTERED BY 创建分桶表 6SORTED BY 不常用对桶中的一个或多个列另外排序 7ROW FORMAT DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char] row format delimited fields terminated by ‘,’ – 列分隔符 lines terminated by ‘\n’; – 行分隔符
[MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char] | SERDE serde_name [WITH SERDEPROPERTIES (property_nameproperty_value, property_nameproperty_value, …)] 用户在建表的时候可以自定义 SerDe 或者使用自带的 SerDe。如果没有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED将会使用自带的 SerDe。在建表的时候用户还需要为表指定列用户在指定表的列的同时也会指定自定义的 SerDeHive 通过 SerDe 确定表的具体的列的数据。 SerDe 是 Serialize/Deserilize 的简称 hive 使用 Serde 进行行对象的序列与反序列化。 8STORED AS 指定存储文件类型 常用的存储文件类型SEQUENCEFILE二进制序列文件、TEXTFILE文本、RCFILE列 式存储格式文件 如果文件数据是纯文本可以使用STORED AS TEXTFILE。如果数据需要压缩使用 STORED AS SEQUENCEFILE。 9LOCATION 指定表在 HDFS 上的存储位置。 10AS后跟查询语句根据查询结果创建表。 11LIKE 允许用户复制现有的表结构但是不复制数据。
2 DML操作
向表中装载数据hive load data [local] inpath 数据的 path [overwrite] into table student [partition (partcol1val1,…)]; 1load data:表示加载数据 2local:表示从本地加载数据到 hive 表否则从 HDFS 加载数据到 hive 表 3inpath:表示加载数据的路径 4overwrite:表示覆盖表中已有数据否则表示追加 5into table:表示加载到哪张表 6student:表示具体的表 7partition:表示上传到指定分区 具体数据导入导出操作命令参考 http://t.csdn.cn/CBsYE
3 DQL操作
hiveSql执行顺序
from ..on .. join .. where .. group by .. having .. select .. distinct .. order by .. limit
hiveSQL书写规则 SELECT [ALL | DISTINCT] select_expr, select_expr, … FROM table_reference [WHERE where_condition] [GROUP BY col_list] [ORDER BY col_list] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list] ] [LIMIT number] 注意 1SQL 语言大小写不敏感。 2SQL 可以写在一行或者多行 3关键字不能被缩写也不能分行 4各子句一般要分行写。 5使用缩进提高语句的可读性。 排序 Order By全局排序只有一个 Reduce 每个 Reduce 内部排序Sort By Sort By对于大规模的数据集 order by 的效率非常低。在很多情况下并不需要全局排 序此时可以使用 sort by。 Sort by 为每个 reducer 产生一个排序文件。每个 Reducer 内部进行排序对全局结果集 来说不是排序。 Distribute By 在有些情况下我们需要控制某个特定行应该到哪个 reducer通常是为了进行后续的聚集操作。distribute by 子句可以做这件事。distribute by 类似 MR 中 partition自定义分区进行分区结合 sort by 使用。 对于 distribute by 进行测试一定要分配多 reduce 进行处理否则无法看到 distribute by 的效果。 cluster by 当 distribute by 和 sorts by 字段相同时可以使用 cluster by 方式。 cluster by 除了具有 distribute by 的功能外还兼具 sort by 的功能。但是排序只能是升序 排序不能指定排序规则为 ASC 或者 DESC。
四、分区操作和分桶操作 1、分区操作
分区表实际上就是对应一个 HDFS 文件系统上的独立的文件夹该文件夹下是该分区所有的数据文件。Hive 中的分区就是分目录把一个大的数据集根据业务需要分割成小的数据集。在查询时通过 WHERE 子句中的表达式选择查询所需要的指定的分区这样的查询效率会提高很多。
create table dept_partition(
deptno int, dname string, loc string
)
partitioned by (day string)
row format delimited fields terminated by \t;注意分区字段不能是表中已经存在的数据可以将分区字段看作表的伪列注意分区表加载数据时必须指定分区 2、分桶操作
分区提供一个隔离数据和优化查询的便利方式。不过并非所有的数据集都可形成合理的分区。对于一张表或者分区Hive 可以进一步组织成桶也就是更为细粒度的数据范围划分。 分桶是将数据集分解成更容易管理的若干部分的另一个技术。 分区针对的是数据的存储路径分桶针对的是数据文件。
创建分桶表
create table stu_buck(id int, name string)
clustered by(id)
into 4 buckets
row format delimited fields terminated by \t;
注意 1reduce 的个数设置为-1,让 Job 自行决定需要用多少个 reduce 或者将 reduce 的个数设置为大于等于分桶表的桶数 2从 hdfs 中 load 数据到分桶表中避免本地文件找不到问题 3不要使用本地模式
五、Hive函数
hive窗口函数整理参考如下链接 http://t.csdn.cn/xbPnv
六、文件格式和压缩格式
文件格式 文件格式按面向的存储形式不同分为面向行和面向列两大类文件格式。 压缩格式按其可切分独立性分成可切分和不可切分两种。
- 上一篇: 如何做好网站建设销售公司网站要什么做
- 下一篇: 如何做好网站建设销售营销推广怎么做
相关文章
-
如何做好网站建设销售公司网站要什么做
如何做好网站建设销售公司网站要什么做
- 技术栈
- 2026年03月21日
-
如何做好网站建设前期网站规划山西自助建站费用低
如何做好网站建设前期网站规划山西自助建站费用低
- 技术栈
- 2026年03月21日
-
如何做国际贸易网站动态ip建网站
如何做国际贸易网站动态ip建网站
- 技术栈
- 2026年03月21日
-
如何做好网站建设销售营销推广怎么做
如何做好网站建设销售营销推广怎么做
- 技术栈
- 2026年03月21日
-
如何做好网站推广个人博客网站源码
如何做好网站推广个人博客网站源码
- 技术栈
- 2026年03月21日
-
如何做好网站推网站建设的上机报告
如何做好网站推网站建设的上机报告
- 技术栈
- 2026年03月21日






