大数据基础-大数据软件基础
- 格式:pdf
- 大小:4.28 MB
- 文档页数:102
《大数据技术基础》课程教学大纲一、课程基本信息课程代码:16176903课程名称:大数据技术基础英文名称:Fundamentals of Big Data Technology课程类别:专业课学时:48学分:3适用对象: 软件工程,计算机科学与技术,大数据管理考核方式:考核先修课程:计算机网络,云计算基础,计算机体系结构,数据库原理,JA V A/Python 程序设计二、课程简介当前在新基建和数字化革命大潮下,各行各业都在应用大数据分析与挖掘技术,并紧密结合机器学习深度学习算法,可为行业带来巨大价值。
这其中大数据处理与开发框架等大数据技术是进行数字化,数智化应用建设的核心和基础,只有努力提升大数据处理与开发技术与性能,建立行业数字化和智能化转型升级才能成功。
大数据处理与开发技术是新基建和数字化革命核心与基础。
大数据技术基础课程,为学生搭建起通向“大数据知识空间”的桥梁和纽带,以“构建知识体系、阐明基本原理、引导初级实践、了解相关应用”为原则,为学生在大数据领域“深耕细作”奠定基础、指明方向。
课程将系统讲授大数据的基本概念、大数据处理架构Hadoop、分布式文件系统HDFS、分布式数据库HBase、NoSQL数据库、云数据库、分布式并行编程模型MapReduce、基于内存的大数据处理架构Spark、大数据在互联网、生物医学和物流等各个领域的应用。
在Hadoop、HDFS、HBase、MapReduce、Spark等重要章节,安排了入门级的实践操作,让学生更好地学习和掌握大数据关键技术。
同时本课程将介绍最前沿的业界大数据处理与开发技术和产品平台,包括阿里大数据服务平台maxcompute,华为大数据云服务平台FusionInsight,华为高性能分布式数据库集群GaussDB等业界最先进技术,以及国家大数据竞赛平台网站和鲸社区。
让学生学以致用,紧跟大数据领域最领先技术水平,同时,面对我国民族企业,头部公司在大数据领域取得的巨大商业成功与前沿技术成果应用产生强烈民族自豪感,为国家数字化经济与技术发展努力奋斗,勇攀知识高峰立下志向。
大数据基础知识点一、什么是大数据随着互联网的快速发展和各种智能设备的普及,人们产生的数据呈现爆炸式增长的趋势。
这些数据体量庞大、种类繁多,涵盖了各个领域的信息。
大数据就是指这些海量、高速、多样化的数据集合,它们对于传统的数据处理技术和工具来说存在着无法处理的挑战。
因此,大数据的处理和分析是当今科技领域的热点问题。
二、大数据的特点1. 体量巨大:大数据的体量往往以PB(1PB=1024TB=1048576GB)或EB(1EB=1024PB)为单位,远远超过了传统数据处理的能力范围。
2. 高速性:大数据的产生速度非常快,要求对数据进行及时的采集、存储和分析。
3. 多样性:大数据涵盖了结构化数据、半结构化数据和非结构化数据,包括文本、图像、音视频等多种形式。
4. 来源广泛:大数据的来源多样,包括社交媒体、传感器、移动设备等各种渠道。
三、大数据的应用领域1. 金融行业:大数据可以用来进行风险评估、信用评分、个性化推荐等,提供精准的金融服务。
2. 医疗行业:大数据可以用来进行疾病预测、基因分析、医疗资源优化等,提高医疗效率和质量。
3. 零售行业:大数据可以用来进行消费者行为分析、商品推荐、供应链管理等,提升销售业绩和客户满意度。
4. 交通运输行业:大数据可以用来进行交通流量预测、路况优化、智能导航等,提高交通效率和安全性。
5. 媒体行业:大数据可以用来进行内容推荐、舆情监测、营销策划等,增强媒体的影响力和竞争力。
四、大数据的处理方法1. 数据采集:通过各种方式收集数据,包括传感器、网络爬虫、日志文件等。
2. 数据存储:将采集到的数据存储到分布式文件系统(如Hadoop)或数据库中,以便后续处理和分析。
3. 数据清洗:对数据进行清理和去重,排除无效的数据和异常值,保证数据的质量和准确性。
4. 数据分析:通过数据挖掘、机器学习等方法,对数据进行统计分析和模式识别,以发现隐藏在数据中的规律和趋势。
5. 数据可视化:通过图表、图像等形式,将分析结果以直观的方式展示出来,帮助用户理解和利用数据。
大数据基础-题库带答案1、通过互联网,查找和了解大数据的产生过程。
答案:2、通过互联网,查找和了解大数据的应用场景(领域)。
答案:3、通过互联网,查找和了解大数据研究的意义。
答案:4、通过互联网查找hadoop集群的组成,根据上课的讲解绘制Hadoop 生态系统的思维导图或者关系图,并简要说明Hadoop生态系统中每一部分的功能。
答案:5、什么是虚拟机,它的作用是什么?答案:6、简述启动和关闭Hadoop集群的方法。
答案:7、简述HDFS中NameNode和DataNode的作用。
答案:8、下面哪个命令可以用于创建HDFS目录/hdfstest/testA、 hdfs dfs -mkdir /hdfstest/testB、 hdfs dfs -get /hdfstest/testC、 hdfs dfs -cat /hdfstest/testD、 hdfs dfs -rmdir /hdfstest/test答案: A9、下列哪个命令可以下载HDFS文件 /hdfstest/test.txtA、 hdfs dfs -put /hdfstest/test.txtB、 hdfs dfs -get /hdfstest/test.txtC、 hdfs dfs -download /hdfstest/test.txtD、 hdfs dfs -move /hdfstest/test.txt答案: B10、删除HDFS上的文件使用的命令是hadoop fs -delete 文件名答案:错误11、复制HDFS上的文件可以使用命令hdfs dfs -cp答案:正确12、在HDFS上查看文件内容使用命令hdfs dfs -cat答案:正确13、简述配置windows下Hadoop环境的基本步骤。
答案:14、MapReduce是Hadoop最核心的组件之一。
答案:正确15、MapReduce是一种分布式计算模型。
答案:正确16、MapReduce应用程序一定要用Java来编写。
大数据基础知识大数据基础知识一、数据存储1.1 硬盘存储硬盘是计算机最主要的存储设备,按容量大小可分为机械硬盘(HDD)和固态硬盘(SSD)。
HDD通过旋转磁盘的方式来读取和写入数据,容量大,价格低,但读写速度慢;SSD使用闪存颗粒读取和写入数据,读写速度快,价格较高。
1.2 闪存存储闪存是一种电子存储介质,具有体积小、容量大、价格低、读写速度快等优点。
闪存设备包括USB闪存驱动器、SD卡、TF卡等,广泛应用于移动设备和个人电脑中。
1.3 云端存储云端存储是一种通过网络存储数据的方式,数据存储在云端服务器上,用户可以通过网络访问和共享数据。
云端存储具有无限容量、随时随地访问、高可用性等优点,但也存在数据安全和隐私保护的风险。
二、数据预处理2.1 数据清洗数据清洗是从原始数据中去除噪音和无效数据的过程,包括去重、填补缺失值、标准化、归一化等方法。
数据清洗可以提高数据分析的准确性和可靠性。
2.2 数据转换数据转换是将原始数据转换为易于分析和处理的形式的过程。
常见的转换方法包括数据聚合、数据归约、数据编码等。
数据转换可以减小数据量、提高处理速度,同时使数据分析更加准确。
2.3 数据预处理框架常用的数据预处理框架包括Hadoop和Spark。
这些框架提供了分布式处理和并行计算的能力,可以处理海量数据,提高数据处理速度和效率。
三、数据挖掘3.1 关联规则挖掘关联规则挖掘是寻找数据集中项集之间的有趣关系的过程。
常见的关联规则挖掘算法包括Apriori算法和FP-Growth算法,用于发现频繁项集和关联规则。
3.2 分类算法分类算法是一种根据已知类标签的数据来预测未知类标签的数据的过程。
常见的分类算法包括决策树、朴素贝叶斯、支持向量机等,用于分类和预测任务。
3.3 聚类算法聚类算法是根据数据的相似性将数据集分成若干个簇的过程。
常见的聚类算法包括K-均值、层次聚类等,用于探索性数据分析、客户分群等任务。
四、数据分析4.1 数据可视化数据可视化是将数据以图表、图像等形式展示出来,以便更好地理解和分析数据。
大数据基本知识点一、知识概述《大数据基本知识点》①基本定义:大数据呢,就是好多好多数据,这些数据多得一般电脑软件处理不了了。
它不是一小堆数据,而是海量的,像大海里数不清的水滴。
数据类型还特别多,有数字、文字、图像、声音等各种各样的。
②重要程度:在现在这个时代可太重要了。
不管是电商平台分析咱们的购物喜好,还是交通部门规划道路这些都离不开大数据。
可以说很多行业要是没有大数据的分析,就像是盲人摸象,只能知道一点,不能看到全貌。
③前置知识:得知道一些基础的统计知识,像平均数是啥,还得对电脑存储有点概念,知道数据怎么在电脑里存起来的。
④应用价值:比如说购物网站通过我们的浏览和购买记录(这就是大数据),给我们推荐可能喜欢的商品,这样我们能更快找到想要的东西,商家也能卖更多东西。
再比如医疗领域,分析大量病人的数据,能找到疾病的发病规律,更好地治疗和预防疾病。
二、知识体系①知识图谱:大数据在计算机科学以及商业分析这个大圈圈里位置很核心呢。
它跟很多其他的小知识点都连着,像数据挖掘、机器学习都是围着它转的。
②关联知识:和数据挖掘密切相关,数据挖掘就像是在大数据这个宝藏里找宝贝。
还有云计算,云计算可以给大数据提供强大的计算能力,就像给马拉松运动员提供好鞋子一样。
③重难点分析:- 掌握难度:比较难。
因为要处理的数据量太大了,要理解好多不同类型数据的处理方式不容易。
比如说图像数据和数字数据处理方法就不一样。
- 关键点:数据的采集、整理和分析。
就像做菜,要先选好材料(采集数据),洗干净切好(整理数据),再用适当的方法炒熟(分析数据)。
④考点分析:- 在计算机相关考试里很重要。
- 考查方式:会让你解释大数据概念,或者给出一个数据分析的场景,让你选择合适的大数据处理方法。
三、详细讲解【理论概念类】①概念辨析:大数据就是海量的、多种类型的数据集合。
这些数据的特点就是量特别大、增长速度快、类型多样,还很有价值但需要特殊方法处理。
比如说一个城市里所有人的出行轨迹数据,又多又杂,这就是大数据。
第2章大数据软件基础华中科技大学软件学院目录❑Linux基础❑Java基础❑SQL语言基础❑在VirtualBox上安装Linux集群❑习题22.1.1 Linux 简介3Linux简洁,仅提供数百个有明确设计目的系统调用;Linux中所有的设备都被当做文件对待,可通过一套相同的系统调用接口对数据和设备的操作;Linux的内核和相关的系统工具软件都是用C语音编写的,Linux在各种硬件体系架构面前具备非常好的移植能力;Linux将所有的进程都当做线程,而创建线程速度快、开销少;Linux提供了一套非常简单但又非常稳定的进程间通信元语,快速简洁的进程创建过程使得Linux程序高质量地完成任务,而简单稳定的进程间通信机制可以保证一组单一目的的程序方便地组合在一起,去解决更为复杂的任务。
Linux系统核心最初是由芬兰赫尔辛基大学学生Linus Torvalds在1990年设计。
后来,Linux周边程序越来越多,在不到三年的时间里,linux成为了一个功能完善,稳定可靠的操作系统。
Linux存在着许多不同的Linux版本,例如RedHat、CentOS、Ubuntu、debian等。
Linux系统具有以下几个重要的特点:Linux发行版本1.修改主机名和hosts文件v查看主机名可以使用hostname查看当前主机名称,命令如下:$ hostnamev永久修改主机名可以使用hostnamectl永久设置主机名,修改后的主机名存储在/etc/hostname文件中。
命令如下:$ hostnamectl set-hostname controller# 设置主机名为controller$ cat /etc/hostname # 用cat 命令在控制台显示文件内容为controller也可以通过直接修改/etc/hosts文件中的主机名来修改主机名称。
还可以使用Vim等编辑工具编辑该文件,修改对应IP地址后的主机名称。
$ vim /etc/hosts # 注意:在打开文件,并修改主机名称后,保存$ cat /etc/hosts2.文件与目录操作v切换目录切换工作文件目录用cd命令v查看目录中的文件信息查看目录中的文件信息用ls命令文件复制v文件复制可以用cp命令进行文件复制v目录的创建和删除创建、修改、删除文件目录涉及mkdir、mv和rm三个命令v查看文件内容可以使用cat、more和tac查看文件内容。
cat按照文本文件的行顺序以此显示文件内容;tac是cat反向拼写,表达从最后一行开始倒叙依次显示文本文件的内容;more命令可以分页显示文本文件内容v文本内容处理在Linux下经常需要从文本文件中查找相关字符串,或比较文件的差异。
常用命令为grep和diff命令v查询操作可以通过find命令查找相关的文件或文件目录v Vim文件操作Vim是Linux系统常用的文本编辑器。
Vim有命令模式(mand Mode)、插入模式(Insert Mode)和底行模式(Last Line Mode)三种工作模式。
命令模式:在此模式下只能控制屏幕光标的移动,进行文本的删除、复制等文字编辑工作,以及进入插入模式,或者回到底行模式。
插入模式:只有在插入模式下,才可以输入文字。
按[Esc]键可回到命令模式。
打开Vim编辑器时Vim处于命令模式,需要按i键进入插入模式。
底行模式:在此模式下可以保存文件或退出Vim,同时也可以设置编辑环境和进行一些编译工作,如列出行号、搜索字符串、执行外部命令等。
v压缩、解压可以利用tar命令对文件进行压缩、解压。
tar可以解压缩*.tar,*.tar.gz,*tar.bz2文件,其参数z和j分别代表*.tar.gz和*.bz2文件修改文件或目录权限Linux文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。
Linux系统因对文件安全的设置将用户分成三种不同的类型:文件所有者、同组用户、其他用户。
文件所有者一般是文件的创建者。
所有者能允许同组用户有权访问文件,还能将文件的访问权限赋予系统中的其他用户。
每一文件或目录的访问权限都有三组,每组用三位数据表示,分别为文件所有者的读、写和执行权限,和所有者同组的用户的读、写和执行权限,系统中其他用户的读、写和执行权限。
3.新建与删除用户和用户组v新建用户为Linux系统创建用户的基本命令为useradd和passwd,分别创建用户和设置用户密码。
v新建用户组Linux文件系统的安全管理权限有组管理权限,可以通过groupadd命令创建用户组,方便用户管理。
v新建用户的同时增加用户组在创建用户时为用户xathan增加用户组。
v给已有的用户增加用户组若用户已经存在,可以使用usermod命令把指定用户增加到相应的用户组中。
v永久删除用户账号和用户组可以使用userdel和groupdel删除用户帐号和用户组。
4.硬盘分区、查看与挂载Linux用户可以使用df、fdisk、mnt等命令查看、分区及挂载硬盘。
v查看硬盘的使用状况使用df命令查看当前硬盘的使用状况。
v硬盘分区使用fdisk命令可以对硬盘进行分区。
v使用mount命令挂载硬盘1.基本网络配置管理CentOS中的nmcli网络管理命令行工具(Network Manager mand Tools),比传统网络管理命令ifconfig的功能要更加强大。
其命令语法如下:nmcli [OPTIONS] OBJECT { MAND | help }其中,OBJECT指的是device和connection。
device指的是网络接口,是物理设备;而connection是连接,偏重于逻辑设置。
多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。
其优点是针对一个物理的网络接口,可以设置多个网络连接,比如静态IP和动态IP,再根据需要启用相应connection。
MAND指的是具体命令。
2.关闭防火墙v查看防火墙命令如下:$ firewall-d --list-allv关闭防火墙/禁止开机启动$ systemctl stop firewalld $ systemctl disable firewalld3.关闭SELinuxSELinux(Security-Enhanced Linux)是美国国家安全局(NSA)对于强制访问控制的实现,是Linux历史上最杰出的新安全子系统。
SELinux默认安装在CentOS、Fedora和Red Hat Enterprise Linux上。
然而,Selinux会阻碍Hadoop组件的安装与配置,因而需要掌握关闭和启动SElinux的相关方法。
1.系统服务管理指令systemctlLinux Systemctl是一个系统管理守护进程、工具和库的集合,主要负责控制Systemd系统和服务管理器。
通过systemctl –help可以看到该命令主要分为:查询或发送控制命令给Systemd 服务,管理单元服务的命令,服务文件的相关命令,任务、环境、快照相关命令,Systemd服务的配置重载,系统开机关机相关的命令。
2.jps查看jps(Java Virtual Machine Process Status Tool)是JDK 1.5提供的一个显示当前所有Java进程pid的命令,非常适合在Linux/UNIX平台上简单察看当前Java进程的一些简单情况。
可以通过它来查看系统启动的Java进程,默认列出JVM的ID号和简单的class或jar名称,如图所示。
其他示例命令如下:$ jps –p # 仅仅显示VM 标示,不显示jar、class、main参数等信息$ jps –l# 输出应用程序主类完整package名称或jar完整名称$ jps –v # 列出jvm参数3.rpcinfo查看RPC(Remote Procedure Call,远程过程调用)是一种通过网络从远程计算机程序上请求的服务,用户不需要了解底层网络技术的协议。
rpcinfo命令可查看有关系统上正在运行的RPC服务的信息。
$ rpcinfo -p [IP|hostname]$ rpcinfo -t|-u IP|hostname 程序名称选项与参数:-p:针对某IP(未写则预设为本机)显示出所有的port与porgram的信息。
-t:针对某主机的某支程序检查其TCP封包所在的软件版本。
-u:针对某主机的某支程序检查其UDP封包所在的软件版本。
2.1.4其他常用网络命令4.查看端口并杀死占用端口的进程v使用netstat命令查看正在使用的端口及关联的进程/应用普通用户也能够使用netstat命令,不过只有为root用户时才会显示端口对应的进程名称。
v使用lsof命令直接列出具体端口号的使用进程/应用lsof命令可以列出当前网络端口的占用情况,也可查看指定端口的占用情况,命令的执行需要root权限。
v使用ps命令通过PID进程号查看进程的详细信息v使用ps命令查看Java进程的状态使用ps命令查看Java进程的状态,-aux显示所有状态v使用kill-9命令强制杀死进程目录❑Linux基础❑Java基础❑SQL语言基础❑在VirtualBox上安装Linux集群❑Java基础❑SQL语言基础221.类继承在面向对象语言中,类继承是面向对象程序设计不可缺少的一部分。
类继承实现了代码复用,使得代码结构更清晰。
当一个类继承另一个类,不仅可以获取该类的一些方法,还可以在此基础上定义自身的方法,从而能够在已存在的类的基础上构建一个新类。
2.接口接口以interface声明。
在Java语言中,接口是一个抽象类型,是抽象方法的组合。
与Java中的类不同,接口主要用来描述类具有的功能,并不涉及每个功能的具体实现。
当类实现接口时,必须实现接口中的所有方法。
若只想实现接口中的部分方法,可使用抽象类。
从程序员的角度,可以把接口理解为抽象类(虽然它们在语法上有诸多不同)。
接口中的方法必须全部在具体的类中实现。
接口的实现一般分为两步:(1)使用implements关键字将类声明为实现指定的接口;(2)在类中实现接口已定义好的所有方法。
接口也可以通过extends关键字继承父接口,并支持多继承。
3.泛型泛型是Java SE5中引入的一种重用机制。
泛型实现了参数类型的概念,使代码可以应用于多种类型。
与Java中指定变量的参数类型不同,泛型将所操作的数据类型指定为一个参数,即类型参数,使算法可以同时操作多种数据类型,同时能够在编译时检测到非法类型。
使用类型参数允许暂时不指定参数的具体类型,而是稍后再决定具体类型。