第一阶段:大数据技术入门
1大数据入门:介绍当前流行大数据技术,数据技术原理,并介绍其思想,介绍大数据技术培训课程,概要介绍。
2Linux大数据必备:介绍Lniux常见版本,VMware虚拟机安装Linux系统,虚拟机网络配置,文件基本命令 *** 作,远程连接工具使用,用户和组创建,删除,更改和授权,文件/目录创建,删除,移动,拷贝重命名,编辑器基本使用,文件常用 *** 作,磁盘基本管理命令,内存使用监控命令,软件安装方式,介绍LinuxShell的变量,控制,循环基本语法,LinuxCrontab定时任务使用,对Lniux基础知识,进行阶段性实战训练,这个过程需要动手 *** 作,将理论付诸实践。
3CM&CDHHadoop的Cloudera版:包含Hadoop,HBase,Hiva,Spark,Flume等,介绍CM的安装,CDH的安装,配置,等等。
第二阶段:海量数据高级分析语言
Scala是一门多范式的编程语言,类似于java,设计的初衷是实现可伸缩的语言,并集成面向对象编程和函数式编程的多种特性,介绍其优略势,基础语句,语法和用法, 介绍Scala的函数,函数按名称调用,使用命名参数函数,函数使用可变参数,递归函数,默认参数值,高阶函数,嵌套函数,匿名函数,部分应用函数,柯里函数,闭包,需要进行动手的 *** 作。
第三阶段:海量数据存储分布式存储
1HadoopHDFS分布式存储:HDFS是Hadoop的分布式文件存储系统,是一个高度容错性的系统,适合部署在廉价的机器上,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用,介绍其的入门基础知识,深入剖析。
2HBase分布式存储:HBase-HadoopDatabase是一个高可靠性,高性能,面向列,可伸缩的分布式存储系统,利用HBase技术可在廉价PC上搭建起大规模结构化存储集群,介绍其入门的基础知识,以及设计原则,需实际 *** 作才能熟练。
第四阶段:海量数据分析分布式计算
1HadoopMapReduce分布式计算:是一种编程模型,用于打过莫数据集的并行运算。
2Hiva数据挖掘:对其进行概要性简介,数据定义,创建,修改,删除等 *** 作。
3Spare分布式计算:Spare是类MapReduce的通用并行框架。
第五阶段:考试
1技术前瞻:对全球最新的大数据技术进行简介。
2考前辅导:自主选择报考工信部考试,对通过者发放工信部大数据技能认证书。
上面的内容包含了大数据学习的所有的课程,所以,如果有想学大数据的可以从这方面下手,慢慢的了解大数据。
1、创建两张测试表,
create table test_cj(name VARCHAR(20), remark varchar2(20));
create table test_kc(name VARCHAR(20), remark varchar2(20));
2、插入测试数据
insert into test_cj values('xh','cj_1');
insert into test_cj values('kcdh','cj_2');
insert into test_cj values('cj','cj_3');
insert into test_kc values('kcdh','kc_1');
insert into test_kc values('kcm','kc_2');
3、查询两张表的总记录数,select t, rowid from test_cj t union all select t, rowid from test_kc t,
4、编写sql,两张表进行关联,select tname, tremark, bremark from test_cj t, test_kc b where tname=bname,可以发现关联出kcdh的记录,
01Tableau全套课程免费下载
kc5i
01Tableau全套课程|04Tableau更新专区|03Tableau实战|02Tableau进阶|01Tableau入门|03Tableau基础教程视频(中文+英文) 8课|02Tableau从零开始学习视频(中文+英文) 7课|01Tableau80快速入门视频教程 10课|
为什么使用Hive?
为什么使用Hive?那么,在哪里使用Hive呢?在载入了60亿行(经度、维度、时间、数据值、高度)数据集到MySQL后,系统崩溃了,并经历过数据丢失。这可能部分是因为我们最初的策略是将所有的数据都存储到单一的一张表中了。后来,我们调整了策略通过数据集和参数进行分表,这有所帮助但也因此引入了额外的消耗,而这并非是我们愿意接受的。
相反,我们决定尝试使用Apache Hive技术。我们安装了Hive 05 + 20,使用CDHv3和Apache Hadoop(0 20 2 + 320)。CDHv3还包含有许多其他相关工具,包括Sqoop和Hue这些在我们的架构中都标识出来了,如图23-3底部所示。
我们使用Apache Sqoop转储数据到Hive中,然后通过写一个Apache OODT包装器,来使Hive按照空间/时间约束查询数据,然后将结果提供给RCMET和其他用户(图23-2中间部分显示)。RCMES集群的完整的架构如图23- 3所示。我们有5台机器,包括图中所示的一个主/从配置,通过一个运行GigE的私人网进行连接。
Hive提供了什么
Photobucket公司使用Hive的主要目标是为业务功能、系统性能和用户行为提供答案。为了满足这些需求,我们每晚都要通过Flume从数百台服务器上的MySQL数据库中转储来自Web服务器和自定义格式日志TB级别的数据。这些数据有助于支持整个公司许多组织,比如行政管理、广告、客户支持、产品开发和 *** 作,等等。对于历史数据,我们保持所有MySQL在每月的第一天创建的所有的数据作为分区数据并保留30天以上的日志文件。Photobucket使用一个定制的ETL框架来将MySQL数据库中数据迁移到Hive中。使用Flume将日志文件数据写入到HDFS中并按照预定的Hive流程进行处理。
Hive支持的用户有哪些
行政管理依赖于使用Hadoop提供一般业务健康状况的报告。Hive允许我们解析结构化数据库数据和非结构化的点击流数据,以及业务所涉及的数据格式进行读取。
广告业务使用Hive筛选历史数据来对广告目标进行预测和定义配额。产品开发无疑是该组织中产生最大数量的特定的查询的用户了。对于任何用户群,时间间隔变化或随时间而变化。Hive是很重要的,因为它允许我们通过对在当前和历史数据中运行A / B测试来判断在一个快速变化的用户环境中新产品的相关特性。
在Photobucket公司中,为我们的用户提供一流的系统是最重要的目标。从 *** 作的角度来看,Hive被用来汇总生成跨多个维度的数据。在公司里知道最流行的媒体、用户、参考域是非常重要的。控制费用对于任何组织都是重要的。一个用户可以快速消耗大量的系统资源,并显著增加每月的支出。Hive可以用于识别和分析出这样的恶意用户,以确定哪些是符合我们的服务条款,而哪些是不符合的。也可以使用Hive对一些 *** 作运行A / B测试来定义新的硬件需求和生成ROI计算。Hive将用户从底层MapReduce代码解放出来的能力意味着可以在几个小时或几天内就可以获得答案,而不是之前的数周。
Hive中的数据库
Hive中数据库的概念本质上仅仅是表的一个目录或者命名空间。然而,对于具有很多组和用户的大集群来说,这是非常有用的,因为这样可以避免表命名冲突。通常会使用数据库来将生产表组织成逻辑组。
如果用户没有显式指定数据库,那么将会使用默认的数据库default。
下面这个例子就展示了如何创建一个数据库:
hive> CREATE DATABASE financials;
如果数据库financials已经存在的话,那么将会抛出一个错误信息。使用如下语句可以避免在这种情况下抛出错误信息:
hive> CREATE DATABASE IF NOT EXISTS financials;
虽然通常情况下用户还是期望在同名数据库已经存在的情况下能够抛出警告信息的,但是IF NOT EXISTS这个子句对于那些在继续执行之前需要根据需要实时创建数据库的情况来说是非常有用的。
在所有的数据库相关的命令中,都可以使用SCHEMA这个关键字来替代关键字TABLE。
随时可以通过如下命令方式查看Hive中所包含的数据库:
hive> SHOW DATABASES;
default
financials
hive> CREATE DATABASE human_resources;
hive> SHOW DATABASES;
default
financials
human_resources
如果数据库非常多的话,那么可以使用正则表达式匹配来筛选出需要的数据库名,正则表达式这个概念,将会在第623节“Like和RLike”介绍。下面这个例子展示的是列举出所有以字母h开头,以其他字符结尾(即部分含义)的数据库名:
hive> SHOW DATABASES LIKE 'h';
human_resources
hive>
Hive会为每个数据库创建一个目录。数据库中的表将会以这个数据库目录的子目录形式存储。有一个例外就是default数据库中的表,因为这个数据库本身没有自己的目录。
数据库所在的目录位于属性hivemetastorewarehousedir所指定的顶层目录之后,这个配置项我们已经在前面的第251节“本地模式配置”和第252节“分布式模式和伪分布式模式配置”中进行了介绍。假设用户使用的是这个配置项默认的配置,也就是/user/hive/warehouse,那么当我们创建数据库financials时,Hive将会对应地创建一个目录/user/hive/warehouse/financialsdb。这里请注意,数据库的文件目录名是以db结尾的。
用户可以通过如下的命令来修改这个默认的位置:
hive> CREATE DATABASE financials
> LOCATION '/my/preferred/directory';
用户也可以为这个数据库增加一个描述信息,这样通过DESCRIBE DATABASE <database> 命令就可以查看到该信息。
hive> CREATE DATABASE financials
> COMMENT 'Holds all financial tables';
hive> DESCRIBE DATABASE financials;
financials Holds all financial tables
hdfs://master-server/user/hive/warehouse/financialsdb
从上面的例子中,我们可以注意到,DESCRIEB DATABASE语句也会显示出这个数据库所在的文件目录位置路径。在这个例子中,URI格式是hdfs。如果安装的是MapR,那么这里就应该是maprfs。对于亚马逊d性MapReduce(EMR)集群,这里应该是hdfs,但是用户可以设置hivemetastorewarehousedir为亚马逊S3特定的格式(例如,属性值设置为s3n://bucketname)。用户可以使用s3作为模式,但是如果使用新版的规则s3n会更好。
前面DESCRIBE DATABASE语句的输出中,我们使用了master-server来代表URI权限,也就是说应该是由文件系统的“主节点”(例如,HDFS中运行NameNode服务的那台服务器)的服务器名加上一个可选的端口号构成的(例如,服务器名:端口号这样的格式)。如果用户执行的是伪分布式模式,那么主节点服务器名称就应该是localhost。对于本地模式,这个路径应该是一个本地路径,例如file:///user/hive/warehouse/financialsdb。
如果这部分信息省略了,那么Hive将会使用Hadoop配置文件中的配置项fsdefaultname作为master-server所对应的服务器名和端口号,这个配置文件可以在$HADOOP_HOME/conf这个目录下找到。
需要明确的是,hdfs:///user/hive/warehouse/financialsdb和hdfs://master-server/user/hive/
warehouse/financialsdb是等价的,其中master-server是主节点的DNS名和可选的端口号。
为了保持完整性,当用户指定一个相对路径(例如,some/relative/path)时,对于HDFS和Hive,都会将这个相对路径放到分布式文件系统的指定根目录下(例如,hdfs:///user/<user-name>)。然而,如果用户是在本地模式下执行的话,那么当前的本地工作目录将是some/relative/path的父目录。
为了脚本的可移植性,通常会省略掉那个服务器和端口号信息,而只有在涉及到另一个分布式文件系统实例(包括S3存储)的时候才会指明该信息。
此外,用户还可以为数据库增加一些和其相关的键-值对属性信息,尽管目前仅有的功能就是提供了一种可以通过DESCRIBE DATABASE EXTENDED <database>语句显示出这些信息的方式:
hive> CREATE DATABASE financials
> WITH DBPROPERTIES ('creator' = 'Mark Moneybags', 'date' = '2012-01-02');
hive> DESCRIBE DATABASE financials;
financials hdfs://master-server/user/hive/warehouse/financialsdb
hive> DESCRIBE DATABASE EXTENDED financials;
financials hdfs://master-server/user/hive/warehouse/financialsdb
{date=2012-01-02, creator=Mark Moneybags);
USE命令用于将某个数据库设置为用户当前的工作数据库,和在文件系统中切换工作目录是一个概念:
hive> USE financials;
现在,使用像SHOW TABLES这样的命令就会显示当前这个数据库下所有的表。
不幸的是,并没有一个命令可以让用户查看当前所在的是哪个数据库!幸运的是,在Hive中是可以重复使用USE…命令的,这是因为在Hive中并没有嵌套数据库的概念。
可以回想下,在第272节“变量和属性”中提到过,可以通过设置一个属性值来在提示符里面显示当前所在的数据库(Hive v080版本以及之后的版本才支持此功能):
hive> set hivecliprintcurrentdb=true;
hive (financials)> USE default;
hive (default)> set hivecliprintcurrentdb=false;
hive>
最后,用户可以删除数据库:
hive> DROP DATABASE IF EXISTS financials;
IF EXISTS子句是可选的,如果加了这个子句,就可以避免因数据库finanacials不存在而抛出警告信息。
默认情况下,Hive是不允许用户删除一个包含有表的数据库的。用户要么先删除数据库中的表,然后再删除数据库;要么在删除命令的最后面加上关键字CASCADE,这样可以使Hive自行先删除数据库中的表:
hive> DROP DATABASE IF EXISTS financials CASCADE;
如果使用的是RESTRICT这个关键字而不是CASCADE这个关键字的话,那么就和默认情况一样,也就是,如果想删除数据库,那么必须先要删除掉该数据库中的所有表。
如果某个数据库被删除了,那么其对应的目录也同时会被删除。
随着云时代的发展,大数据也吸引了越来越多的目光。云计算和大数据早已成为不可分割的一体,掌握了云计算和大数据也就掌握了大数据常见的实时以及离线开发框架,具备架构设计以及开发能力,能够胜任 hadoop开发工程师,spark开发工程师,flink开发工程师等岗位。
下面是各个阶段适应的岗位:
阶段一:
基础知识(linux *** 作基础、shell编程、hadoop集群环境准备、zookeeper集群、网络编程)、JVM优化(JVM运行参数、JVM内存模型、jmap命令的使用、jstack命令的使用、VisualVM工具的使用、JVM垃圾回收算法、JVM垃圾收集器、Tomcat8优化、JVM字节码、代码优化)。完成以上初级阶段的学习,大家就能够完成中小型企业常见的自动化脚本。
阶段二 :
hadoop环境搭建20(hadoop源生集群搭建、CDH版本集群搭建)、hdfs(hdfs入门、hdfs深入)、mapreduce(mapreduce入门、mapreduce深入学习、mapreduce高级)、yarn、hive(hive安装、hive基本 *** 作、hive高级用法、hive调优)、辅助系统工具(flume、azkaban调度、sqoop0)、IMPALA、HUE、OOZIE。学到这个阶段大家基本能够胜任离线相关工作,包括ETL工程师、hadoop开发工程师、hadoop运维工程师、Hive工程师、数据仓库工程师等岗位。
阶段三 :
kafka消息队列、storm编程(storm编程、strom实时看板案例、storm高级应用)。完成第三阶段的学习,大家能够胜任Storm实时计算相关工作,包括ETL工程师、大数据开发工程师、Storm流式计算工程师等岗位。
阶段四 :
项目开发(strom日志告警、strom路由器项目开发)。了解了strom项目开发,大家能够胜任流计算开发工作,流式计算工程师、大数据开发工程师等相关工作岗位。
阶段五 :
Scala编程(Scala基础语法、Scala中面向对象编程、Scala中的模式匹配、Scala中的actor介绍、Actor实战、Scala中的高阶函数、隐式转换和隐式参数、Akka编程实战)、Spark(Spark概述、Spark集群安装、Spark HA高可用部署、Spark程序、RDD概述 、创建RDD 、RDD常用的算子 *** 作 、RDD的依赖关系、RDD的缓存机制 、DAG的生成 、spark检查点、Spark SQL概述 、DataFrame介绍以及与RDD对比 、DataFrame常用 *** 作 、DataSet的介绍、以编程方式执行Spark SQL查询、Spark on Yarn介绍、sparkStreaming概述、Spark Streaming原理 、DStream相关 *** 作、Dstream *** 作实战、sparkStreaming整合flume实战、sparkStreaming整合kafka实战)、Hbase(hbase简介、hbase部署、hbase基本 *** 作、hbase的过滤器、hbase原理、hbase高阶)。完成第五阶段的学习,大家能够胜任Spark相关工作,包括ETL工程师、Spark工程师、Hbase工程师等等。
阶段六 :
用户画像(用户画像概述、用户画像建模、用户画像环境、用户画像开发、hive整合hbase、hbase集成phoenix、项目可视化)。完成大数据Spark项目实战能够胜任Spark相关工作,包括ETL工程师、Spark工程师、Hbase工程师、用户画像系统工程师、数据分析师。
阶段七 :
Flink(Flink入门、Flink进阶、Flink电商项目)。完成Flink实时计算系统的学习,大家能够胜任Flink相关工作,包括ETL工程师、Flink工程师、大数据实时开发工程师等岗位。
阶段八 :
机器学习入门(机器学习概念、机器学习数学基础)、机器学习语言基础(Python语言、Python数据分析库实战、用户画像标签预测实战)、集成学习算法、构建人才流失模型、数据挖掘项目、推荐系统、CTR点击率预估实战。完成最后的学习能够胜任机器学习、数据挖掘等相关工作,包括推荐算法工程师、数据挖掘工程师、机器学习工程师,填补人工智能领域人才急剧增长产生的缺口。
大数据一般指大数据采集与管理专业,是从大数据应用的数据管理、系统开发、海量数据分析与挖掘等层面系统地帮助企业掌握大数据应用中的各种典型问题的解决办法的专业。主要学习数据采集、分析、处理软件、学习数学建模软件既计算机编程语言等。
hdfs显示但是hive里面没有的话,很可能hive配置使用的是自带的deby数据库。hive的配置文件弄好,如果用sqoop的话,把hive的配置文件hive-sitesh拷贝一份到sqoop的conf目录下,让sqoop知道保存的数据是到mysql元数据库的hive。
以上就是关于大数据怎么学习全部的内容,包括:大数据怎么学习、SQL语言中把数据库中两张表数据关联起来的语句、大数据学习需要哪些课程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)