-
Hadoop- 流量汇总程序之如何实现hadoop的序列化接口及代码实现
流量汇总程序需求 统计每一个用户(手机号)锁耗费的总上行流量、下行流量、总流量。 流程剖析 阶段:map 读取一行数据,切分字段, 抽取手机号,上行流量,下行流量 context.write(手机号,bean) 阶段:reduce 汇总遍历每个bean,将其中的上行流量,下行流量分别累加,得到一个新的bean context.write(手机号,新bean); 代码实现…- 0
- 0
- 70
-
Hadoop- Hadoop运维小计
如果是新添加一个节点,需要执行以下步骤: 首先,把新节点的 IP或主机名 加入主节点(master)的 conf/slaves 文件。 然后登录新的从节点,执行以下命令: $ cd Hadoop_path $ bin/hadoop-daemon.sh start datanode $ bin/hadoop-daemon.sh start tasktracker 然后就可…- 0
- 0
- 53
-
Scala- Double类型工具类
格式化分数,按照指定小数位四舍五入工具类 package com.rz.util object NumberUtils { /** * 格式化小数 * @param num Double对象 * @param scale 四舍五入的位数 * @return 格式化后的小数 */ def formatDouble(num: Double, scale: Int)={ val decim…- 0
- 0
- 51
-
Hadoop- 集群时间同步
集群的时间要同步 * 找一台机器 时间服务器 * 所有的机器与这台机器时间进行定时的同步 比如,每日十分钟,同步一次时间 # rpm -qa|grep ntp # vi /etc/ntp.conf # vi /etc/sysconfig/ntpd # Drop root to id 'ntp:ntp' by default. SYNC_HWCLOCK=yes OP…- 0
- 0
- 56
-
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
- 71
-
Zookeeper- Error contacting service. It is probably not running解决方案和原理
搭建启动Zookeeper集群出现Error contacting service. It is probably not running解决方案和原理 1.关闭防火墙 1 2 3 4 [root@srv01 bin]# zkServer.sh start JMX enabled by default Using config: /usr/zookeeper/bin/../con…- 0
- 0
- 126
-
JAVA- 数据库连接池原理
第一次Java程序要在MySQL中执行一条语句,那么就必须建立一个Connection对象,代表了与MySQL数据库的连接通过直接发送你要执行的SQL语句之后,就会调用Connection.close()来关闭和销毁与数据库的连接。为什么要立即关闭呢?因为数据库的连接是一种很重的资源,代表了网络连接、IO等资源。所以如果不是用的话就需要尽早关闭,以避免资源浪费。 JDBC的劣势与不足…- 0
- 0
- 72
-
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
- 49
-
Redis- 内存数据库Redis之安装部署
内存数据库Redis之安装部署 Redis是一款非关系型,key-value存储的内存数据库,Redis数据库完全在内存中,使用磁盘仅用于持久性。Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。 支持丰富的数据类型:Redis支持字符串、列表、集合、有序集合散列数据类型,这使得它非常容易解决各种各样的问题。把redis看成java的一个hashmap你就入门…- 0
- 0
- 99
-
-
Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法
在SparkSQL中获取Row的值,而且Row的字段允许null时,在取值的时候取到null赋值给新的变量名会报NullPointerException错误, 可以先用row.isNullAt(index)去判断该字段的值是否为空 首先上错误 修改为先初始化变量,判断row.isNullAt(6) 如果不为空就将值赋值给变量- 0
- 0
- 99
-
Hadoop- DistCp(分布式拷贝)
在实际的生产环境中,我们的企业都有测试集群和生产集群,有的比较大型的企业有多个版本的Hadoop 大数据集群,这时候有个这样的需求,各个集群上的资源需要进行迁移,比如说一些生产集群需要一些测试集群的数据,需要将测试集群的上的数据拷贝到生产集群,这时候就需要使用到分布式拷贝(Distributed Copy). 比较常见的有不同集群之间的数据迁移 hadoop distcp <s…- 0
- 0
- 89
-
Storm- 使用Storm实现词频汇总
需求:读取指定目录的数据,并实现单词计数的功能 实现方案: Spout来读取指定目录的数据,作为后续Bolt处理的input 使用一个Bolt把input 的数据,切割分开,我们按照逗号进分割 使用一个Bolt来进行最终的单词次数统计操作并输出 拓扑设计:DataSourceSpout ==>SpiltBolt ==>CountBolt Storm编程注意,…- 0
- 0
- 70
-
Hadoop HA- zookeeper安装配置
安装集群 1.1 虚拟机: 3台安装好JDK的centos Linux虚拟机 1.2 安装包: 把下载好的zookeeper安装包,官网:http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.8/ 上传到服务器。 1.3解压 tar –xvzf zookeeper-3.4.8.tar.gz ,解压后放进 /usr/ 即可 …- 0
- 0
- 54
-
HIVE- 数据倾斜
数据倾斜就是由于数据分布不均匀,数据大量集中到一点上,造成数据热点。大多数情况下,分为一下三种情况: 1.map端执行比较快,reduce执行很慢,因为partition造成的数据倾斜。 2.某些reduce很快,某些reduce很慢,也是因为partition造成的数据倾斜。 3.某些map执行很快,某些map执行很慢,这是因为数据本身的分布的不合理性造成的。 造成上面reduce…- 0
- 0
- 51
-
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
- 370
-
Spark- Linux下安装Spark
Spark- Linux下安装Spark 前期部署 1.JDK安装,配置PATH 可以参考之前配置hadoop等配置 2.下载spark-1.6.1-bin-hadoop2.6.tgz,并上传到服务器解压 [root@srv01 ~]# tar -xvzf spark-1.6.1-hadoop2.6.tgz /usr/spark-1.6.1-hadoop2.6 3.在 /usr 下…- 0
- 0
- 72
-
HIVE- 新建UDF范例
首先pom文件导入依赖,Hadoop和hive的依赖导入自己机器的版本,hive记得导jdbc <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.1</v…- 0
- 0
- 60
-
Spark- 求最受欢迎的TopN课程
数据库操作工具类 package com.rz.mobile_tag.utils import java.sql.{Connection, DriverManager, PreparedStatement} object MySQLUtils { /** * 获取数据库连接 * @return */ def getConnection()={ DriverManager.getCon…- 0
- 0
- 90
-
Hive- 大数据仓库Hive
什么是 Hive? Hive 是由 FaceBook 开源用于解决少量数据结构化日志的数据统计。Hive是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。Hive 处理的数据存储在 HDFS 上,分析数据的底层实现是 MapReduce ,执行程序运行的是YARN。 构建在Hadoop之上的数据仓库: 使用 HQL 作为查询接口 使…- 0
- 0
- 49
-
大数据之路- 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
- 61
-
Hadoop- MR的shuffle过程
step1 input InputFormat读取数据,将数据转换成<key ,value>对,设置FileInputFormat,默认是文本格式(TextInputFormat) step2 map map<KEYIN, VALUEIN, KEYOUT, VALUEOUT> 默认情况下KEYIN:LongWritable,偏移量。VALUEIN:Text,K…- 0
- 0
- 45
-
数据仓库- 建模理念
数仓建模的目标 访问性能:能够快速查询所需的数据,减少数据I/O 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本。 使用效率:改善用户使用体验,提高使用数据的效率 数据质量:改善数据统计口径的不一致性,减少数据计算错误的可性,提供高质量的、一致的数据访问平台 大数据的数仓建模需要通过建模的方法更好的组织、存储数据、以便在性能、…- 0
- 0
- 55
-
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
- 118
-
Openldap- 大集群身份验证服务
无论在哪个行业,数据安全永远都是摆在首要地位。尤其是在大数据行业上,谁掌握了数据,谁就有可能成为下个亿万富豪的环境中,数据安全更为重要。大数据的安全可以从哪些地方入手,首先可以在身份验证上面入手。在大数据的集群设备上做好身份验证,可以使用openldap来做。 唯有通过openldap管理的账号才能对大数据系统进行访问,没有通过openldap创建的账号是不能login到Hadoop…- 0
- 0
- 67
-
Spark- 数据清洗
输入输出转化工具类 package com.rz.mobile_tag.log import org.apache.spark.sql.Row import org.apache.spark.sql.types.{LongType, StringType, StructField, StructType} /** * 访问日志转换(输入==>输出)工具类 */ object A…- 0
- 0
- 92
-
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
- 81
-
Spark-Spark setMaster & WordCount Demo
Spark setMaster源码 /** * The master URL to connect to, such as "local" to run locally with one thread, "local[4]" to * run locally with 4 cores, or "spark://master:7077&…- 0
- 0
- 91
-
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
- 102
-
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
- 45
-
Python- NumPy
NumPy包括的内容 NumPy系统是 Python的一种开源的数值计算扩展,是一个用 python实现的科学计算包。包括: 一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组,称为 ndarray(N-dimensional array object ) 用于对整组数据进行快速运算的标准数学函数, func( universal function object) 用于整…- 0
- 0
- 160
-
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
- 132
-
Linux- AWS之EC2大数据集群定时开关机
众所周知,云计算就是在计算你的钱,每当ec2开起来就要开始计费。当用户购买了一个庞大的与服务器做一个集群,尤其是用来做大数据集群,这些服务器的配置相当高,每台服务器所需要的费用不菲。其实在很多时候没能够完全利用起其全部的资源,尤其在空闲时间,在夜间没有作业的情况下,这些服务器完全处于空闲的状态,却时刻在计费,这是相当不划算的。于是有这样一个方案,我们是不是可以在机器处于空闲的状态时将…- 0
- 0
- 113
-
Hadoop- HDFS的API操作
1、引入依赖 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.1</version> </dependency> 注:如需手动引入ja…- 0
- 0
- 118
-
Spark- Spark基本工作原理
Spark特点: 1.分布式 spark读取数据时是把数据分布式存储到各个节点内存中 2.主要基于内存(少数情况基于磁盘,如shuffle阶段) 所有计算操作,都是针对多个节点上内存的数据,进行并行操作的 3.迭代式计算 对分布式节点内存中的数据进行处理,处理后的数据可能会移动到其他节点的内存中,当需要用到某些数据时,从这些节点的内存中就能找到,迭代出来使用 Spark与MapRed…- 0
- 0
- 80