大数据开发工程师-第九周 Hive扩展内容 常见数据存储格式的使用数据存储格式12在最开始学习Hive的时候我们说到了,Hive没有专门的数据存储格式,默认可以直接加载文本文件TextFile,还支持SequenceFile、RCFile这些。其实完整来说,主要包括下面这些数据存储格式。
1234其中RCFile数据存储格式是从Hive 0.6版本开始支持的。Avro数据存储格式是从Hive 0.9版本开始支持的。ORC数据存储格式是从Hive 0.11版本开始支持的。PARQUET数据存储格式是Hive 0.13版本开始支持的。
12这些信息主要来源于Hive官网。https://cwiki.apache.org/confluence/display/Hive/
12345678目前工作中使用最多的是TextFile、ORC和Parquet。默认情况下使用TextFile即可,想要提高数据存储和计算效率,可以考虑使用ORC或者Parquet。本次课程中我们主要演示TextFile、SequenceFile、RCFile、ORC、以及PARQUET的用法。Avro存储格式在 ...
大数据开发工程师-第九周 Hive扩展内容 常见数据压缩格式的使用
大数据开发工程师-第十五周 SparkSQL 集成 HiveSparkSQL 集成 Hive123SparkSQL集成Hive,其实就是在SparkSQL中直接操作Hive中的表。注意:在SparkSQL中操作Hive表,底层走的就不是MapReduce计算引擎了,而是Spark引擎。SparkSQL会读取Hive中的元数据,以及存储在HDFS上的数据,最终通过Spark引擎进行计算。
1234567891011通过这种方式,可以利用Spark计算引擎提高计算效率,并且也不需要每次在使用的时候临时在SparkSQL中建表,省略了建表这个复杂过程。本来我们使用SparkSQL时比较麻烦的一个事情就是创建表,现在针对Hive中已有的表,可以直接在SparkSQL中使用,这样就比较方便了。针对这块的操作,常见的有两种用法:在SparkSQL命令行中集成Hive这种方式便于在SparkSQL命令行中进行调试,主要在调试阶段会使用。在SparkSQL代码中集成Hive这种方式是在代码中通过SparkSQL直接操作Hive中的表,针对例行化的定时任务一般都是使用这种方式。下面我们来具体演示一下这 ...
大数据开发工程师-第十一周 sparkSQL快速上手使用Spark SQL12345678910111213Spark SQL和我们之前讲Hive的时候说的hive on spark是不一样的。hive on spark是表示把底层的mapreduce引擎替换为spark引擎。而Spark SQL是Spark自己实现的一套SQL处理引擎。Spark SQL是Spark中的一个模块,主要用于进行结构化数据的处理。它提供的最核心的编程抽象,就是DataFrame。DataFrame=RDD+Schema它其实和关系型数据库中的表非常类似,RDD可以认为是表中的数据,Schema是表结构信息。DataFrame可以通过很多来源进行构建,包括:结构化的数据文件,Hive中的表,外部的关系型数据库,以及RDDSpark1.3出现的DataFrame ,Spark1.6出现了DataSet,在Spark2.0中两者统一,DataFrame等于DataSet[Row]
SparkSession1234要使用Spark SQL,首先需要创建一个SpakSession对象SparkSession中包含 ...
大数据预处理技术-基于kettle的数据导入与导出基于文件的数据导入与导出文本文件Excel文件xml文件json文件基于数据库的数据导入与导出基于WEB的数据导入与导出基于CDC变更的数据导入与导出
大数据预处理技术-数据预处理工具
1234567在一个完整的挖掘流程中,数据预处理要花费60%左右的时间,而后续的挖掘工作仅仅占工作量的10%左右。数据预处理的工具及手段都是多种多样的,归纳起来分为工具类手段及编程类手段。这里讲kettle和pythonkettle除了支持各种关系型数据库,以及hbase,mongodb这样的nosql数据库外,还支持excel,access这类小型的数据源。kettle的预处理功能很强大,除了支持选择,过滤,分组,连接,排序这些常用的功能外,kettle里的java表达式,正则表达式,java脚本,java类等功能都非常灵活强大。
1python中的numpy和pandas是数据预处理中常用的的库。
1234567891011121314151617Ok啊,今天我们进入第二章开头工具的一个初步使用,这个章节的学习,首先呢我们来看一下这一个章节的一个整体的脉络。那么首先这个章节呢分了两个部分,第一叫做cat的安装,第二呢就是cat的使用啊,这个脉络非常的清晰,第一我要把它装好好,第二,那么我就要学怎么来使用它。那么首先我们先进入第一部分的学习, ...
大数据开发工程师-第十五周 Spark 3.x版本扩展内容快速上手使用Spark3Spark 3.0.0版本介绍123Spark3.0.0版本是Spark 3.x系列的第一个正式版本,他于2020-6-10日正式发布。Spark 3.x版本中重点是对Spark SQL模块中的功能进行了优化。其中46%的优化都集中在Spark SQL上。通过官方基准(TPC-DS 30TB )测试,Spark 3.0的性能大约是Spark 2.4 的两倍。
Spark 3.x的使用1234567891011Spark3.x的核心代码和Spark 2.x没有什么区别,目前我们在常规使用中暂时还没有发现什么不兼容的情况。主要的区别就是Spark3.x版本默认支持Scala 2.12版本了,之前的Spark 2.x版本最高只能支持到scala 2.11版本。因为Spark 3.x主要是对SparkSQL模块进行了性能优化,针对架构层面和API层面的内容并没有大幅度的修改。下面我们的流程是先基于Spark 3.x版本开发一套代码然后在已有的大数据集群中集成Spark 3.x环境最后向YARN中同时提交Spar ...
廖雪峰Python 函数函数函数参数1函数调用时可以按位置参数传参,也可以写明参数名传参
123456789python函数可以返回多个值(其实是一个值,返回的一个tuple),sql和java类函数只能返回一个值>>> r = move(100, 100, 60, math.pi / 6)>>> print(r)(151.96152422706632, 70.0)>>> x, y = move(100, 100, 60, math.pi / 6)>>> print(x, y)151.96152422706632 70.0
12345678910位置参数:函数调用时传参顺序要和函数定义时的参数顺序一样必选参数:调用时必须传值的参数默认参数:默认参数放在必选参数后面可变参数:*nums,函数内部nums变成了tuple,可以用循环迭代,参数list,tuple在前面*def calc(*numbers): sum = 0 for n in numbers: sum = sum + n * ...
大数据预处理技术-数据预处理概述-第一章大数据项目开发流程
12345数据采集数据预处理数据存储数据分析挖掘数据可视化
数据预处理的背景和目的
1234567Ok,大家好啊,我们今天呢正式进入数据预处理的第一次理论课,那么数据预处理理论课的第一章呢,主要讲的是数据预处理的一个概述的相关知识点。在正式讲课之前,我们首先来看一下我们大数据项目开发的一个流程。那么大数据开发的流程呢,主要哈我们看图上有五个,第一是数据采集,第二个是数据处理,第三是数据存储,第四次数据分析与挖掘,第五是数据可视化。那么从图中我们可以看到数据预处理,也就是我们这门课所要学习的内容呢?它是在数据怎么样采集之后,存储和分析挖掘之前,那么它的这样一个位置就决定了它的工作,就是读入数据采集阶段的数据,然后采用各种手段来清洗我们的脏数据,再输出满足数据分析,数据挖掘的一个数据集。那么这个数据集一般都是存储在分布式系统当中的。当然对这个数据集进行分析挖掘之后,我们得到的分析挖掘的一个结果是通过啊我们的这个红色部分,也就是我们数据的可视化来向客户进行展示的,这就是我们数据项目开发流程的一个整体的脉络。那么接下来呢,我们将 ...
廖雪峰Python 错误类型ValueError1234def set_gender(self, gender): if gender not in ('male', 'female'): raise ValueError('gender must be male or female') self.__gender = gender
TypeError1234>>> abs(1, 2)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: abs() takes exactly one argument (2 given)






