余老师带你学习大数据-Spark快速大数据处理第五章第四节HiveQL数据定义

HiveQL数据定义

1、在app-12上,以hadoop用户登录。
命令:su – hadoop
在这里插入图片描述

2、启动hive。
命令:hive --service cli
在这里插入图片描述

3、查看databases。
命令:show databases;
在这里插入图片描述

手动创建databases

4、创建test。
命令:CREATE DATABASE IF NOT EXISTS test;
在这里插入图片描述

5、查看是否创建成功。
命令:show databases;
在这里插入图片描述

6、进入test。
命令:use test;
在这里插入图片描述

7、创建employee表。
命令:CREATE TABLE IF NOT EXISTS `EMPLOYEE` ( `ID` bigint, `NAME` string, CONSTRAINT `SYS_PK_BUCKETING_COLS` PRIMARY KEY (`ID`) DISABLE ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\|' ;
注:``这个符号为标识符,数据名字。
在这里插入图片描述

下载数据

8、新建new terminal,以hadoop用户登录。
命令:su – hadoop
在这里插入图片描述

9、进入/tmp目录下。
命令:cd /tmp/
在这里插入图片描述

10、创建hive文件。
命令:mkdir hive
在这里插入图片描述

11、进入 /tmp/Spark-stack/Hive/HiveQL/目录下。
命令:cd /tmp/Spark-stack/Hive/HiveQL/
在这里插入图片描述

12、将employee.dat 拷贝到/tmp/hive/目录下。
命令:cp employee.dat /tmp/hive/
在这里插入图片描述

8、返回之前的new terminal,加载数据到table中。
命令:LOAD DATA LOCAL INPATH '/tmp/hive/employee.dat' OVERWRITE INTO TABLE EMPLOYEE;
在这里插入图片描述

9、查询数据。
命令:select * from EMPLOYEE;
在这里插入图片描述

数据库与hdfs对应关系

观察创建完表和数据库之后,在HDFS上有什么变化
1、在app-11上,以hadoop用户登录。
命令:su – hadoop
在这里插入图片描述

2、配置文件默认的数据存储仓库在hive/warehouse/
命令:hdfs dfs -ls /user/hive/warehouse/
在这里插入图片描述

3、查看test.db文件
命令:hdfs dfs -ls /user/hive/warehouse/test.db
在这里插入图片描述

4、查看employee表。
命令:hdfs dfs -ls /user/hive/warehouse/test.db/employee

在这里插入图片描述

5、查看employee.dat数据集内容。
命令:hdfs dfs -cat /user/hive/warehouse/test.db/employee/employee.dat
在这里插入图片描述

内部表和外部表操作与hdfs文件管控

1、将数据拷贝到/installTest目录下。
命令:hdfs dfs -cp /user/hive/warehouse/test.db/employee/employee.dat /installTest
在这里插入图片描述

2、返回app-12的命令行,删除表。
命令:drop table employee;
在这里插入图片描述

3、返回app-11上,再次查看。
命令:hdfs dfs -ls /user/hive/warehouse/test.db注:数据已经删除了,但是test.db没有删除掉。
在这里插入图片描述

4、返回app-12上,删除test.db。
命令:drop database test;
在这里插入图片描述

5、返回app-11上,查看是否删除。
命令:hdfs dfs -ls /user/hive/warehouse/test.db注:已经删除,数据库已经被删除。
在这里插入图片描述

创建外部表

6、创建一个空目录存放数据。
命令:hdfs dfs -mkdir /installTest/hive
在这里插入图片描述

7、将拷贝过来的employee.dat拷贝到hive目录下。
命令:hdfs dfs -cp /installTest/employee.dat /installTest/hive
在这里插入图片描述

8、返回app-12上,创建表,先创建database。
命令:CREATE DATABASE IF NOT EXISTS test;
在这里插入图片描述

9、进入test。
命令:use test;
在这里插入图片描述

10、创建表。
命令:CREATE TABLE IF NOT EXISTS `EMPLOYEE` ( `ID` bigint, `NAME` string, CONSTRAINT `SYS_PK_BUCKETING_COLS` PRIMARY KEY (`ID`) DISABLE ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\|' LOCATION '/installTest/hive';
注:外部表创建成功。
在这里插入图片描述

11、做一次查询。
命令:select * from EMPLOYEE;注:内部表和外部表在其他操作上是一致的。
在这里插入图片描述

HiveQL查询

12、在app-12上退出命令行环境。
命令:quit;
在这里插入图片描述

13、进入tmp目录下。
命令:cd /tmp/
在这里插入图片描述

14、将hive文件删除重新创建存放临时数据。
命令:rm -rf hive/mkdir hive
在这里插入图片描述

15、进入Spark-stack/Hive/目录下。
命令:cd Spark-stack/Hive/
在这里插入图片描述

16、将HiveQL目录下的文件拷贝到/tmp/hive/目录下。
命令:cp -rf HiveQL/* /tmp/hive/
在这里插入图片描述

17、进入/tmp/hive/目录下。
命令:cd /tmp/hive/
在这里插入图片描述

18、查看employee.sql脚本
命令:vi employee.sql注:这是创建外部表的脚本。
在这里插入图片描述

19、加载脚本。
命令:hive -f /tmp/hive/employee.sql
在这里插入图片描述

20、切换到命令行环境。
命令:hive --service cli
在这里插入图片描述

21、进入test。
命令:use test;
在这里插入图片描述

22、设置MapReduce的Map memory和reduce memory为2G。
命令:set mapreduce.map.memory.mb=2048;set mapreduce.reduce.memory.mb=2048;
在这里插入图片描述

23、查询。
命令:select count(*) from employee;注:时间是4.38秒。
在这里插入图片描述

24、查询现在的执行引擎。
命令:set hive.execution.engine;
在这里插入图片描述

25、将执行引擎改为mr。
命令:set hive.execution.engine=mr;
在这里插入图片描述

26、再一次查询。
命令:select count(*) from employee;注:时间是10.55秒。
在这里插入图片描述

详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 大数据手册(Spark)是一本关于Apache Spark的指南,其中包括了Spark的基础知识、应用场景、实践案例等内容。其中,Spark数据处理(pyspark版)是指使用Python编程语言进行Spark数据处理的相关内容。在这个章节中,读者将学习如何使用pyspark进行流数据处理,包括数据流的读取、转换、过滤、聚合等操作,以及如何将处理结果输出到外部系统中。通过学习这一章节,读者将掌握使用pyspark进行流数据处理的基本技能,为实际应用场景提供支持。 ### 回答2: 大数据手册是一本面向数据领域从业者的参考书,其中涵盖了各种大数据处理技术和工具,包括Spark数据处理Spark是Apache的一个计算框架,它有着广泛的应用场景,从离线批处理到流数据处理,都能提供高效的计算能力。而pyspark,则是Spark提供的Python API,让Python从业者可以方便地使用Spark进行数据处理。 在Spark数据处理方面,Spark提供了两种实现方式:基于RDD的流处理和基于Structured Streaming的流处理。其中,基于RDD的流处理在Spark 2.0 之前是唯一的流处理方式,但受到了一些限制,例如不能实现精确一次处理等。而在Spark 2.0 引入的Structured Streaming则是一种基于连续处理模型的处理方式,可以实现精确一次处理,并具有更高的性能和更简单的编程模型。因此,我们重点介绍基于Structured Streaming的流数据处理。 基于Structured Streaming的流数据处理,其核心概念是流数据的抽象,即流数据是一连串连续的数据,它可以看作是一个不断更新的表格数据Spark提供了DataFrame API 来处理这种数据类型,可以方便地与传统的批处理DataFrame API进行交互。在Structured Streaming中,用户只需要指定输入数据源、数据处理逻辑和输出数据源,Spark将自动将其转换为一个流数据处理作业。 在进行流数据处理时,常用的操作有过滤、聚合、窗口等操作。Spark提供了丰富的DataFrame API和函数来实现这些操作,例如filter、groupBy、window等函数。在实际应用中,我们还需要考虑窗口长度、滑动间隔等参数来优化处理效率。 另外,对于一些特殊场景,例如数据乱序、数据延迟等问题,也需要进行相应的处理。Spark提供了一些可靠性处理机制,例如水印(Watermark)、状态管理和容错机制等,来应对这些问题。 总体来说,Spark数据处理提供了一种高效、可靠的流数据处理方案,可以满足对实时数据处理的需求。而基于Structured Streaming的流处理还具有更高的性能和更简单的编程模型,可以方便地与传统的批处理进行交互。因此,对于需要进行实时数据处理的应用场景,Spark数据处理是一种值得考虑的选择。 ### 回答3: Spark是一个为大规模数据处理而设计的开源计算框架,是目前业界最流行的分布式计算框架之一。Spark通过使用内存计算技术来提高处理速度。Spark还具有良好的编程接口和易用性,可以通过Python(pyspark)、Java、Scala等语言进行编程。 Spark数据处理(pyspark版)是用pyspark编写的一本大数据手册,用于讲解Spark数据处理的相关知识和实践方法。该手册从流数据处理的基本概念开始讲解,包括流数据定义、特点和处理流程,还介绍了pyspark中常用的流数据处理API。 该手册主要有以下内容: 1. Spark数据处理的基础知识。包括流数据定义、特点、应用场景和处理流程等。 2. Spark数据处理API的介绍。讲解pyspark中常用的流数据处理API,如Socket Stream、File Stream、Kafka Stream等。 3. Spark数据处理的实践应用。介绍流数据处理在实际应用中的典型案例,如实时数据分析、实时数据可视化和实时数据挖掘等。 4. Spark数据处理的优化技巧。讲解如何通过优化代码、调整配置参数等方法来提高流数据处理的性能和效率。 总之,Spark数据处理(pyspark版)侧重于讲解Spark在流数据处理方面的应用,针对不同的应用场景和需求提供了不同的解决方案和技巧,对于从事大数据处理的开发者和数据分析师来说,是一份非常有价值的学习资料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值