赞
踩
课外作业六:Hive
内容
一、 阿里云-云起实验室-《基于EMR离线数据分析》 基于EMR离线数据分析 - 云起实验室-在线实验-上云实践-阿里云开发者社区-阿里云官方实验平台-阿里云 ,或者在自己的虚机上安装Hive,安装步骤详见后面。
实验要求:
完成教材9.6-Hive基本操作。 Hive数据表emrusers改为自己姓名全拼接学号后四位,截图:查询数据表中有多少条数据结果,包含Hive命令。 完成以下华为云三个实验,其中《Hive的数据统计》实验,最后一步多表统计中,两个表名接自己姓名全拼,截图HQL统计语句和执行结果。 二、华为云KooLabs实验
《Hive创建数据仓库》KooLabs云实验_在线实验_上云实践_云计算实验_AI实验_华为云官方实验平台-华为云 《Hive的数据查询》KooLabs云实验_在线实验_上云实践_云计算实验_AI实验_华为云官方实验平台-华为云 《Hive的数据统计》KooLabs云实验_在线实验_上云实践_云计算实验_AI实验_华为云官方实验平台-华为云
三、简要回答“课堂考核”内容
1、HiveQL语言是不是SQL语言? 答:HiveQL是类似于SQL的查询语言,它的语法与SQL相似,但是有一些不同之处。HiveQL支持类SQL语法,包括SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY等关键词,但也有一些SQL不支持的关键词和语法,如USING、CLUSTER BY、DISTRIBUTE BY、LATERAL VIEW等。
2、Hive不指明数据库的话,创建表是哪个数据库的? 如果在Hive中创建表时没有指定数据库,则表会被创建在默认数据库中。默认情况下,Hive会使用名为default的数据库作为默认数据库。可以使用USE语句来指定要使用的数据库,例如USE my_database; 将当前数据库切换到my_database。也可以在CREATE TABLE语句中使用database.table_name来明确指定表所属的数据库,例如CREATE TABLE my_database.my_table (col1 INT, col2 STRING); 将表my_table创建在my_database数据库中。
3、Hive怎么创建表?怎么创建分区表? 在Hive中创建表的语法为: CREATE [TEMPORARY] [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] [TBLPROPERTIES (property_name=property_value, ...)]
其中,如果要创建分区表,需要在CREATE TABLE语句中使用PARTITIONED BY子句来指定分区键,例如: CREATE TABLE my_table ( col1 INT, col2 STRING ) PARTITIONED BY (col3 STRING, col4 INT);
4、Hive怎么加载数据?列是用什么符合分隔的?行是用什么符合分隔的? 可以使用以下命令从 Hadoop 中加载数据到 Hive 表中: LOAD DATA INPATH 'hdfs_path' INTO TABLE table_name; 其中,hdfs_path 是存储数据的 HDFS 路径,table_name 是目标表格的名称。 在加载数据之前,需要确保表格的结构和数据格式匹配。Hive 支持多种数据格式,包括 CSV、文本、序列化等。默认情况下,列之间使用制表符 \t 进行分隔,行之间使用换行符进行分隔。如果要使用其他的列分隔符或行分隔符,可以在创建表格时指定 ROW FORMAT 和 FIELDS TERMINATED BY 选项,例如: CREATE TABLE mytable( column1 string, column2 int ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; 这个命令将创建一个名为 mytable 的表格,其中列之间使用逗号进行分隔。在加载数据时,会自动根据指定的分隔符进行解析。
5、Hive查询数据怎么查询?查询条件是什么? 要查询 Hive 中的数据,可以使用 SELECT 语句,例如: SELECT * FROM mytable WHERE column1 = 'value'; 其中,mytable 是要查询的表格名称,column1 是要查询的列名称,'value' 是查询条件。可以根据需要指定多个查询条件,并使用逻辑运算符 AND 或 OR 进行连接。还可以使用以下命令将查询结果保存到其他表格中: INSERT OVERWRITE TABLE myoutput SELECT * FROM mytable WHERE column1 = 'value'; 这个命令将查询 mytable 表格中列 column1 的值为 'value' 的所有记录,并将结果保存到 myoutput 表格中。 6. Hive统计数据怎么统计? HiveQL语句中统计的关键词是什么意思? Hive统计数据可以使用如下关键词: • COUNT:返回指定列或行的记录数。 • SUM:返回指定数值类型列的和。 • AVG:返回指定数值类型列的平均值。 • MAX:返回指定列或行的最大值。 • MIN:返回指定列或行的最小值。 HiveQL语句中可以使用这些关键词来对数据进行统计分析。
四、习题 9.8
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。