1.如何快速的实战学会大数据分析 实战案例深入解析
2.Hadoop 2.10.1 HDFS 透明加密原理 + 实战 + 验证
3.hive 入门到实战(五)-优化
如何快速的学会大数据分析 实战案例深入解析
1、大数据前沿知识及hadoop入门
2、源码hadoop部署进阶
3、下载大数据导入与存储
4、实战Hbase理论与实战
5、源码Spaer配置及使用场景
6、下载java 代码源码重构spark大数据分析原理
7、实战hadoop+spark大数据分析
方法/步骤
第一阶段:大数据前沿知识及hadoop入门,源码大数据前言知识的下载介绍,课程的实战介绍,Linux和unbuntu系统基础,源码hadoop的下载单机和伪分布模式的安装配置。
第二阶段:hadoop部署进阶。实战Hadoop集群模式搭建,源码hadoop分布式文件系统HDFS深入剖析。下载使用HDFS提供的api进行HDFS文件操作。Mapreduce概念及思想。android精美界面源码
第三阶段:大数据导入与存储。mysql数据库基础知识,hive的基本语法。hive的架构及设计原理。hive部署安装与案例。sqoop安装及使用。sqoop组件导入到hive。
第四阶段:Hbase理论与实战。Hbase简介。安装与配置。hbase的数据存储。项目实战。
第五阶段:Spaer配置及使用场景。scala基本语法。spark介绍及发展历史,spark stant a lone模式部署。hadoop1.2.1源码sparkRDD详解。
第六阶段:spark大数据分析原理。spark内核,基本定义,spark任务调度。sparkstreaming实时流计算。sparkmllib机器学习。sparksql查询。
第七阶段:hadoop+spark大数据分析。实战案例深入解析。hadoop+spark的大数据分析之分类。logistic回归与主题推荐。
特别说明:通过以上关于如何快速的学会大数据分析 实战案例深入解析内容介绍后,相信大家会对如何快速的学会大数据分析 实战案例深入解析有个新的了解,更希望可以对你有所帮助。
Hadoop 2..1 HDFS 透明加密原理 + 实战 + 验证
在Hadoop 2..1环境下,动网先锋源码HDFS的透明加密原理通过KMS(Key Management Service)服务器实现。在开始配置之前,先确保Hadoop集群已搭建,包含节点node1、node2、node3。
配置KMS服务器时,直接在hadoop安装目录下的etc/hadoop进行kms-site.xml、kms-env.sh和kms-acls.xml的配置。kms-site.xml使用默认配置即可,但需理解各项配置意义,便于后续操作。使用keytool生成秘钥,密码默认存于家目录的.keystore文件中,建议使用默认方式创建并保存至kms服务的classes目录。此操作与kms-site.xml中的苏盟源码社区hadoop.security.keystore.java-keystore-provider.password-file属性相对应。
配置完毕后,启动KMS服务,通过jps查看Bootstrap进程确认成功。在配置目录中查看日志。接下来,客户端核心配置文件core-site.xml和HDFS配置文件hdfs-site.xml进行相应调整,节点1的IP设置为...,或配置为kms://puteSliteSize(Math.max(minSize,Math.min(maxSize,blocksize)))=blocksize=M公式,调整maxSize最大值。让maxSize最大值低于blocksize就可以增加map的个数。
细节参考:blog.csdn.net/qq_...
小文件合并
1、在map执行前合并小文件,减少map数:CombineHiveInputFormat具有对小文件进行合并的功能(系统默认的格式)。HiveInputFormat没有对小文件合并功能。
2、在Map-Reduce的任务结束时合并小文件的设置
设置reduce数量
1、方式一计算reducer数的公式N=min(参数2,总输入数据量/参数1)
2、方式二直接通过参数指定,不灵活,不科学,不推荐该方式
说明:reduce个数并不是越多越好
所以在考虑设置reduce数量时候,在处理大数据量利用合适的reduce数,并且让每个reduce任务处理数据量大小合适
并行执行
Hive会将一个查询转化成一个或者多个阶段。这样的阶段可以是MapReduce阶段、抽样阶段、合并阶段、limit阶段。或者Hive执行过程中可能需要的其他阶段。默认情况下,Hive一次只会执行一个阶段。不过,某个特定的job可能包含众多的阶段,而这些阶段可能并非完全互相依赖的,也就是说有些阶段是可以并行执行的,这样可能使得整个job的执行时间缩短。不过,如果有更多的阶段可以并行执行,那么job可能就越快完成。
通过设置参数hive.exec.parallel值为true,就可以开启并发执行。不过,在共享集群中,需要注意下,如果job中并行阶段增多,那么集群利用率就会增加。
并行执行是在系统资源比较空闲的时候才有优势,否则,没资源,并行也起不来
严格模式
hive通过设置严格模式,可以避免一些不合理的操作带来的风险
1、对分区表where后必须加分区条件
对于分区表,除非where语句中含有分区字段过滤条件来限制范围,否则不允许执行。换句话说,就是用户不允许扫描所有分区。进行这个限制的原因是,通常分区表都拥有非常大的数据集,而且数据增加迅速。没有进行分区限制的查询可能会消耗令人不可接受的巨大资源来处理这个表。
2、使用order by必须加limit限制
对于使用了order by语句的查询,要求必须使用limit语句。因为order by为了执行排序过程会将所有的结果数据分发到同一个Reducer中进行处理,强制要求用户增加这个LIMIT语句可以防止Reducer额外执行很长一段时间。
3、笛卡尔积设置为true会限制笛卡尔积的查询。对关系型数据库非常了解的用户可能期望在执行JOIN查询的时候不使用ON语句而是使用where语句,这样关系数据库的执行优化器就可以高效地将WHERE语句转化成那个ON语句。不幸的是,Hive并不会执行这种优化,因此,如果表足够大,那么这个查询就会出现不可控的情况。
jvm重用
JVM重用是Hadoop调优参数的内容,其对Hive的性能具有非常大的影响,特别是对于很难避免小文件的场景或task特别多的场景,这类场景大多数执行时间都很短。
Hadoop的默认配置通常是使用派生JVM来执行map和Reduce任务的。这时JVM的启动过程可能会造成相当大的开销,尤其是执行的job包含有成百上千task任务的情况。JVM重用可以使得JVM实例在同一个job中重新使用N次。N的值可以在Hadoop的mapred-site.xml文件中进行配置。通常在-之间,具体多少需要根据具体业务场景测试得出。
这个功能的缺点是,开启JVM重用将一直占用使用到的task插槽,以便进行重用,直到任务完成后才会释放。如果某个“不平衡的”job中有某几个reduce task执行的时间要比其他Reduce task消耗的时间多的多的话,那么保留的插槽就会一直空闲着却无法被其他的job使用,直到所有的task都结束了才会释放
部分内容来自互联网,侵权删
更多文章关注公众号: