大数据开发工程师-第十五周 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中的表,针对例行化的定时任务一般都是使用这种方式。下面我们来具体演示一下这 ...
大数据预处理技术-基于kettle的数据导入与导出基于文件的数据导入与导出文本文件Excel文件xml文件json文件基于数据库的数据导入与导出基于WEB的数据导入与导出基于CDC变更的数据导入与导出
大数据开发工程师-第十五周 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 ...
大数据预处理技术-数据预处理概述-第一章大数据项目开发流程
12345数据采集数据预处理数据存储数据分析挖掘数据可视化
数据预处理的背景和目的
1234567Ok,大家好啊,我们今天呢正式进入数据预处理的第一次理论课,那么数据预处理理论课的第一章呢,主要讲的是数据预处理的一个概述的相关知识点。在正式讲课之前,我们首先来看一下我们大数据项目开发的一个流程。那么大数据开发的流程呢,主要哈我们看图上有五个,第一是数据采集,第二个是数据处理,第三是数据存储,第四次数据分析与挖掘,第五是数据可视化。那么从图中我们可以看到数据预处理,也就是我们这门课所要学习的内容呢?它是在数据怎么样采集之后,存储和分析挖掘之前,那么它的这样一个位置就决定了它的工作,就是读入数据采集阶段的数据,然后采用各种手段来清洗我们的脏数据,再输出满足数据分析,数据挖掘的一个数据集。那么这个数据集一般都是存储在分布式系统当中的。当然对这个数据集进行分析挖掘之后,我们得到的分析挖掘的一个结果是通过啊我们的这个红色部分,也就是我们数据的可视化来向客户进行展示的,这就是我们数据项目开发流程的一个整体的脉络。那么接下来呢,我们将 ...
廖雪峰Python 函数函数1必选参数,默认参数,可变参数,关键字参数,命名关键字参数
1函数名是一个变量指向函数,可以将另外的变量指向函数,函数也可以指向其它类型的值
高阶函数1函数名作为传入参数
map、reduce12345678map返回iterator、reduce函数 >>> def f(x):... return x * x...>>> r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])>>> list(r)[1, 4, 9, 16, 25, 36, 49, 64, 81]
123456789from functools import reduceDIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8& ...
大数据预处理技术-数据预处理工具
1234567在一个完整的挖掘流程中,数据预处理要花费60%左右的时间,而后续的挖掘工作仅仅占工作量的10%左右。数据预处理的工具及手段都是多种多样的,归纳起来分为工具类手段及编程类手段。这里讲kettle和pythonkettle除了支持各种关系型数据库,以及hbase,mongodb这样的nosql数据库外,还支持excel,access这类小型的数据源。kettle的预处理功能很强大,除了支持选择,过滤,分组,连接,排序这些常用的功能外,kettle里的java表达式,正则表达式,java脚本,java类等功能都非常灵活强大。
1python中的numpy和pandas是数据预处理中常用的的库。
1234567891011121314151617Ok啊,今天我们进入第二章开头工具的一个初步使用,这个章节的学习,首先呢我们来看一下这一个章节的一个整体的脉络。那么首先这个章节呢分了两个部分,第一叫做cat的安装,第二呢就是cat的使用啊,这个脉络非常的清晰,第一我要把它装好好,第二,那么我就要学怎么来使用它。那么首先我们先进入第一部分的学习, ...
廖雪峰Python字符串12'xx'.lower() .upper()
面试题https://zhuanlan.zhihu.com/p/270331009
Python库time12345678910import time# 打印时间戳print(time.time()) # 自1970年1月1日午夜(历元)以来的秒数# 打印本地时间print(time.localtime(time.time())) # 本地时间# 打印格式化时间print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))) # 格式化时间
123456789import datetime# 打印当前时间time1 = datetime.datetime.now()print(time1)# 打印按指定格式排版的时间time2 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')print(time2)
sysfu ...
廖雪峰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)
廖雪峰Python 类类init方法12345678虽然实例属性可以后期动态添加,但是也可以通过__init__初始化方法绑定成员变量。self参数表示指向创建的实例可以没有init方法class Student(object): def __init__(self, name, score): self.name = name self.score = score
访问限制1234成员变量前面加上两个下划线,变成私有属性:外部无法通过 .__属性 访问。之所有无法通过.__属性访问的原因是,解释器会把__属性改名成其它的名字(不同的解释器有可能不同),例如:_类名__属性通过方法操作成员变量,可以实现逻辑检查
继承和多态123class Animal(object): def run(self): print('Animal is running...')
1234567重写父类方法class Dog(Animal): def run(self): print('Dog is ...
廖雪峰PythonJava对比学习2






