-
大数据之路- Hadoop环境搭建(Linux)
前期部署 1.JDK 2.上传HADOOP安装包 2.1官网:http://hadoop.apache.org/ 2.2下载hadoop-2.6.1的这个tar.gz文件,官网: https://archive.apache.org/dist/hadoop/common/hadoop-2.6.1/ 下载成功后,把这个tar.gz包上传到服务器上,命令: 通…- 0
- 0
- 53
-
Hadoop- MR的shuffle过程
step1 input InputFormat读取数据,将数据转换成<key ,value>对,设置FileInputFormat,默认是文本格式(TextInputFormat) step2 map map<KEYIN, VALUEIN, KEYOUT, VALUEOUT> 默认情况下KEYIN:LongWritable,偏移量。VALUEIN:Text,K…- 0
- 0
- 31
-
Hadoop- Namenode经常挂掉 IPC’s epoch 9 is less than the last promised epoch 10
如题出现Namenode经常挂掉 IPC's epoch 9 is less than the last promised epoch 10, 2019-01-03 05:36:14,774 INFO org.apache.hadoop.hdfs.StateChange: BLOCK* allocate blk_1073741949_1131{UCState=…- 0
- 0
- 137
-
Spark- ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
报错 G:\APP\JDK\bin\java -Didea.launcher.port=7532 "-Didea.launcher.bin.path=G:\APP\IntelliJ IDEA\bin" -Dfile.encoding=UTF-8 -classpath "G:\APP\JDK\jre\lib\charsets.jar;G:\APP\JDK\…- 0
- 0
- 100
-
HIVE- 新建UDF范例
首先pom文件导入依赖,Hadoop和hive的依赖导入自己机器的版本,hive记得导jdbc <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.1</v…- 0
- 0
- 52
-
HIVE- SCD缓慢变化维
SCD缓慢变化维,比如一个用户维表,用户属性会变化,但是不会变化很剧烈,可能一年只会变化一两次,也不会所有用户的属性都会有变化,只有少量的数据发生变化,所以叫缓慢变化维。这种问题就是由于维度的变化所造成的。 解决方式: 是否保留历史数据 保留多久历史数据 历史状态如何与事实表关联 SCD1 保留最新状态 注册日期 用户编号 手机号码 2019-01-01 0001 111111 20…- 0
- 0
- 42
-
Hive- Hive 的基本操作
创建数据库 create database db_hive; use db_hive; create database if not exists db_hive_02; create database if not exists db_hive_01 location '/user/rz_lee/warehouse/db_hive_01.db'; //指定数据库…- 0
- 0
- 71
-
-
Hadoop HA- hadoop集群部署
前期部署,至少准备3台服务器(可以是虚拟机) 1、linux系统环境准备 ip地址配置 hostname配置 hosts映射配置 关闭防火墙 service iptables stop ,也可以设置防火墙不开机自启动 chkconfig iptables off init启动级别修改 2.java环境的配置 上传jdk,解压,修改/etc/profile 3.zookeeper集群…- 0
- 0
- 88
-
Hive- Hive 按时间定期插入分区表
写个shell脚本Hive 按时间定期插入分区表,由于今天统计的是昨天的数据所以日期减一。 #!/bin/bash DT=`date -d '-1 day' "+%Y-%m-%d"` #如果某天的数据有误需要重跑 if [ $1 ];then DT=$1 fi SQL=" insert overwrite table t…- 0
- 0
- 31
-
CDH- cdh kafka已经卸载了,但是服务器还有kafka-topics这些命令可用,导致重新安装kafka出现问题
CDH- cdh kafka已经卸载了,但是服务器还有kafka-topics这些命令可用,导致重新安装kafka出现问题 cdh界面删除并不会将 kafka数据删除,需要将kafka集群节点 var/local/kafka/data 清理掉 然后将zk brokers/topics 下的topic也清理掉- 0
- 0
- 34
-
Spark- ERROR Shell: Failed to locate the winutils binary in the hadoop binary path java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
运行 mport org.apache.log4j.{Level, Logger} import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} /** * Created by Lee_Rz on 2017/8/30. */ object SparkDemo { def main(args: A…- 0
- 0
- 125
-
Openldap- 大集群身份验证服务
无论在哪个行业,数据安全永远都是摆在首要地位。尤其是在大数据行业上,谁掌握了数据,谁就有可能成为下个亿万富豪的环境中,数据安全更为重要。大数据的安全可以从哪些地方入手,首先可以在身份验证上面入手。在大数据的集群设备上做好身份验证,可以使用openldap来做。 唯有通过openldap管理的账号才能对大数据系统进行访问,没有通过openldap创建的账号是不能login到Hadoop…- 0
- 0
- 61
-
Scala- Double类型工具类
格式化分数,按照指定小数位四舍五入工具类 package com.rz.util object NumberUtils { /** * 格式化小数 * @param num Double对象 * @param scale 四舍五入的位数 * @return 格式化后的小数 */ def formatDouble(num: Double, scale: Int)={ val decim…- 0
- 0
- 43
-
Spark- Spark基本工作原理
Spark特点: 1.分布式 spark读取数据时是把数据分布式存储到各个节点内存中 2.主要基于内存(少数情况基于磁盘,如shuffle阶段) 所有计算操作,都是针对多个节点上内存的数据,进行并行操作的 3.迭代式计算 对分布式节点内存中的数据进行处理,处理后的数据可能会移动到其他节点的内存中,当需要用到某些数据时,从这些节点的内存中就能找到,迭代出来使用 Spark与MapRed…- 0
- 0
- 71
-
Storm- 使用Storm实现累积求和的操作
需求:1+2+3+... = ??? 实现方案: Spout发出数字作为input 使用Bolt来处理业务逻辑:求和 将结果输出到控制台 拓扑设计:DataSourceSpout -->SumBolt→输出 package com.imooc.bigdata; import org.apache.storm.Config; import org.apache.st…- 0
- 0
- 64
-
Hive- Hive安装
Hive安装 1.1下载Hive安装包 官网:http://hive.apache.org/downloads.html 个人建议到这里下载:http://apache.forsale.plus/ 1.2将hive文件上传到HADOOP集群,并解压 将文件上传到 /usr ,解压 tar -zxvf apache-hive-1.2.1-bin.tar.gz -C /usr/ 重命名:…- 0
- 0
- 55
-
Python- and & or 的短路原则
条件1 and 条件2 条件1 or 条件2 短路原则 对于and 如果前面的第一个条件为假,那么这个and前后两个条件组成的表达式的计算结果就一定为假,第二个条件就不会被计算 对于or 如果前面的第一个条件为真,那么这个or前后两个条件组成的表达式的计算结果就一定为真,第二个条件就不会被计算- 0
- 0
- 76
-
SpringBoot- springboot集成Redis出现报错:No qualifying bean of type ‘org.springframework.data.redis.connection.RedisConnectionFactory’
Springboot将accessToke写入Redisk 缓存,springboot集成Redis出现报错 No qualifying bean of type 'org.springframework.data.redis.connection.RedisConnectionFactory' 原因:我们在pom.xml中引入了spring-boo…- 0
- 0
- 356
-
Zeppelin- Linux下安装Zeppelin
前期部署: 下载,解压,配置PATH环境(编辑/etc/profile文件,记得source一下该文件) zepplin配置参考文档:https://zeppelin.apache.org/docs/0.7.2/install/configuration.html 往conf/zeppelin-env.sh文件中添加端口号 往底部添加 export ZEPPLELIN_PORT=8090 修改配置…- 0
- 0
- 73
-
Linux- AWS之EC2大数据集群定时开关机
众所周知,云计算就是在计算你的钱,每当ec2开起来就要开始计费。当用户购买了一个庞大的与服务器做一个集群,尤其是用来做大数据集群,这些服务器的配置相当高,每台服务器所需要的费用不菲。其实在很多时候没能够完全利用起其全部的资源,尤其在空闲时间,在夜间没有作业的情况下,这些服务器完全处于空闲的状态,却时刻在计费,这是相当不划算的。于是有这样一个方案,我们是不是可以在机器处于空闲的状态时将…- 0
- 0
- 102
-
Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法
在SparkSQL中获取Row的值,而且Row的字段允许null时,在取值的时候取到null赋值给新的变量名会报NullPointerException错误, 可以先用row.isNullAt(index)去判断该字段的值是否为空 首先上错误 修改为先初始化变量,判断row.isNullAt(6) 如果不为空就将值赋值给变量- 0
- 0
- 87
-
Spark- Spark内核架构原理和Spark架构深度剖析
Spark内核架构原理 1.Driver 选spark节点之一,提交我们编写的spark程序,开启一个Driver进程,执行我们的Application应用程序,也就是我们自己编写的代码。Driver会根据我们对RDD定义的操作,提交一大堆的task去Executor上。Driver注册了一些Executor之后,就可以开始正式执行我们的Spark应用程序了,首先第一步,创建初始RD…- 0
- 0
- 56
-
Storm- 使用Storm实现词频汇总
需求:读取指定目录的数据,并实现单词计数的功能 实现方案: Spout来读取指定目录的数据,作为后续Bolt处理的input 使用一个Bolt把input 的数据,切割分开,我们按照逗号进分割 使用一个Bolt来进行最终的单词次数统计操作并输出 拓扑设计:DataSourceSpout ==>SpiltBolt ==>CountBolt Storm编程注意,…- 0
- 0
- 62
-
Hive- Hive Web Interface
当我们安装好hive时候,我们启动hive的UI界面的时候,命令: hive –-service hwi ,报错,没有war包 我们查看hive/conf/hive-default.xml.template,查找hwi 把这3台属性复制,添加到hive-site.xml里面, vim hive-site.xml <property> <name>hive.hw…- 0
- 0
- 90
-
Storm- Storm作业提交运行流程
用户编写Storm Topology 使用client提交Topology给Nimbus Nimbus指派Task给Supervisor Supervisor为Task启动Worker Worker执行Task- 0
- 0
- 57
-
数据仓库- 建模理念
数仓建模的目标 访问性能:能够快速查询所需的数据,减少数据I/O 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本。 使用效率:改善用户使用体验,提高使用数据的效率 数据质量:改善数据统计口径的不一致性,减少数据计算错误的可性,提供高质量的、一致的数据访问平台 大数据的数仓建模需要通过建模的方法更好的组织、存储数据、以便在性能、…- 0
- 0
- 41
-
Spark- Spark Yarn模式下跑yarn-client无法初始化SparkConext,Over usage of virtual memory
在spark yarn模式下跑yarn-client时出现无法初始化SparkContext错误. 17/09/27 16:17:54 INFO mapreduce.Job: Task Id : attempt_1428293579539_0001_m_000003_0, Status : FAILED Container [pid=7847,containerID=containe…- 0
- 0
- 61
-
HIVE- 大数据运维之hive管理
我现在在一家公司负责大数据平台(CDH平台)的运维管理,最常遇见的问题我总结出来,并且继续在下面更新。希望方便自己以后trouble shooting以及方便各位同行解决问题与学习。 关于做运维有几个重要的要点一定一定要遵守的: 遇到问题冷静,冷静,冷静,就山崩都要冷静,心态关乎你是否能将问题解决同时不会给人留下不好的印象。 凡是关于对集群更改与变动的操作,一定要在测试环境测试到没问…- 0
- 0
- 77
-
Spark- 求最受欢迎的TopN课程
数据库操作工具类 package com.rz.mobile_tag.utils import java.sql.{Connection, DriverManager, PreparedStatement} object MySQLUtils { /** * 获取数据库连接 * @return */ def getConnection()={ DriverManager.getCon…- 0
- 0
- 76
-
Spark- Spark普通Shuffle操作的原理剖析
在spark中,什么情况下会发生shuffle? reduceByKey,groupByKey,sortByKey,countByKey,join,cogroup等操作。 默认的shuffle操作的原理剖析 假设有一个节点上面运行了4个 ShuffleMapTask,然后这个节点上只有2个 cpu core。假如有另外一台节点,上面也运行了4个ResultTask,现在呢,正等着要去…- 0
- 0
- 42
-
Sqooop- 使用Sqoop进行数据的导入导出
Sqoop是Apache旗下的一个开源框架,专门用来做数据的导入和导出。 官网:https://sqoop.apache.org/ Sqoop的安装非常简单,只需要把下载下来的tar包解压设置两个环境变量就可以了 1.安装部署 下载版本:sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 官网:http://mirror.bit.edu.cn/apa…- 0
- 0
- 120
-
Kafka- Kafka架构功能
Kafka是一个高吞吐量的分布式消息系统,一个分布式的发布-订阅消息系统。Kafka是一种快速,可拓展的,设计内在就是分布式的,分区的可复制的提交日志服务。 Apache Kafka与传统消息系统相比,有以下不同: 它设计为一个分布式系统,易于向外拓展; 它同时为发布和订阅提供高吞吐量; 它支持多订阅者,当失败时能自动平衡消费者; 它将消息持久化到磁盘,因此可用于批量消费,例如ETL…- 0
- 0
- 33
-
Python- NumPy
NumPy包括的内容 NumPy系统是 Python的一种开源的数值计算扩展,是一个用 python实现的科学计算包。包括: 一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组,称为 ndarray(N-dimensional array object ) 用于对整组数据进行快速运算的标准数学函数, func( universal function object) 用于整…- 0
- 0
- 151
-
Hadoop- Hadoop详解
首先所有知识以官网为准,所有的内容在官网上都有展示,所有的变动与改进,新增内容都以官网为准。hadoop.apache.org Hadoop是一个开源的可拓展的分布式并行处理计算平台,利用服务器集群根据用户的自定义业务逻辑,对海量数据进行分布式处理。Hadoop提供了一个可靠的共享存储和分析系统,Hadoop的核心三大组件有HDFS(分布式文件系统),MapReduce(分布式运算编程框架),YA…- 0
- 0
- 128