-
Hive- 大数据仓库Hive
什么是 Hive? Hive 是由 FaceBook 开源用于解决少量数据结构化日志的数据统计。Hive是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射成一张表,并提供类SQL查询功能。Hive 处理的数据存储在 HDFS 上,分析数据的底层实现是 MapReduce ,执行程序运行的是YARN。 构建在Hadoop之上的数据仓库: 使用 HQL 作为查询接口 使…- 0
- 0
- 35
-
Kafka- Spark消费Kafka
在高版本的API中 val brokers = properties.getProperty("kafka.host.list") val topics = Set(properties.getProperty("kafka.application.topic")) val kafkaParams = Map[String, String]( …- 0
- 0
- 41
-
Spark- Action实战
Spark- Action实战 package cn.rzlee.spark.core import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object ActionOperation { def main(args: Array[String]): Unit…- 0
- 0
- 47
-
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
- 121
-
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
- 87
-
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
- 61
-
HIVE- 大数据运维之hive管理
我现在在一家公司负责大数据平台(CDH平台)的运维管理,最常遇见的问题我总结出来,并且继续在下面更新。希望方便自己以后trouble shooting以及方便各位同行解决问题与学习。 关于做运维有几个重要的要点一定一定要遵守的: 遇到问题冷静,冷静,冷静,就山崩都要冷静,心态关乎你是否能将问题解决同时不会给人留下不好的印象。 凡是关于对集群更改与变动的操作,一定要在测试环境测试到没问…- 0
- 0
- 75
-
可视化数据库管理平台:DBeaver 7.0.3
DBeaver 是一个可视化通用的数据库管理工具和 SQL 客户端,支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。 DBeaver 提供一个图形界面用来查看数据库结构、执行 SQL 查询和脚本,浏览和导出数据,处理 BLOB/CLOB 数据,修改数据库结构等等。 …- 0
- 0
- 113
-
大数据- 自定义Log4j日记
1.新建一个java project,在src下新建一个lib文件夹和 rescources 文件夹,resources文件夹不能命名错误。 点击File——》project Structure...打开根据下图操作 把相关jar包放进lib文件夹里并绑定。 新建一个java文件 Log4jTest.java 和 HadoopLog4j.java 1 2 3 4 5 6…- 0
- 0
- 33
-
Linux- AWS之EC2大数据集群定时开关机
众所周知,云计算就是在计算你的钱,每当ec2开起来就要开始计费。当用户购买了一个庞大的与服务器做一个集群,尤其是用来做大数据集群,这些服务器的配置相当高,每台服务器所需要的费用不菲。其实在很多时候没能够完全利用起其全部的资源,尤其在空闲时间,在夜间没有作业的情况下,这些服务器完全处于空闲的状态,却时刻在计费,这是相当不划算的。于是有这样一个方案,我们是不是可以在机器处于空闲的状态时将…- 0
- 0
- 99
-
Python- NumPy
NumPy包括的内容 NumPy系统是 Python的一种开源的数值计算扩展,是一个用 python实现的科学计算包。包括: 一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组,称为 ndarray(N-dimensional array object ) 用于对整组数据进行快速运算的标准数学函数, func( universal function object) 用于整…- 0
- 0
- 129
-
大数据之路- 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
- 49
-
HIVE- SCD缓慢变化维
SCD缓慢变化维,比如一个用户维表,用户属性会变化,但是不会变化很剧烈,可能一年只会变化一两次,也不会所有用户的属性都会有变化,只有少量的数据发生变化,所以叫缓慢变化维。这种问题就是由于维度的变化所造成的。 解决方式: 是否保留历史数据 保留多久历史数据 历史状态如何与事实表关联 SCD1 保留最新状态 注册日期 用户编号 手机号码 2019-01-01 0001 111111 20…- 0
- 0
- 38
-
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
- 49
-
Scala- Double类型工具类
格式化分数,按照指定小数位四舍五入工具类 package com.rz.util object NumberUtils { /** * 格式化小数 * @param num Double对象 * @param scale 四舍五入的位数 * @return 格式化后的小数 */ def formatDouble(num: Double, scale: Int)={ val decim…- 0
- 0
- 41
-
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
- 98
-
Spark- 根据ip地址计算归属地
主要考察的是广播变量的使用: 1、将要广播的数据 IP 规则数据存放在HDFS上,(广播出去的内容一旦广播出去产就不能改变了,如果需要实时改变的规则,可以将规则放到Redis中) 2、在Spark中转成RDD,然后收集到Driver端, 3、把 IP 规则数据广播到Executor中。Driver端广播变量的引用是怎样跑到 Executor中的呢? Task在Driver端生成的,…- 0
- 0
- 117
-
JAVA- 数据库连接池原理
第一次Java程序要在MySQL中执行一条语句,那么就必须建立一个Connection对象,代表了与MySQL数据库的连接通过直接发送你要执行的SQL语句之后,就会调用Connection.close()来关闭和销毁与数据库的连接。为什么要立即关闭呢?因为数据库的连接是一种很重的资源,代表了网络连接、IO等资源。所以如果不是用的话就需要尽早关闭,以避免资源浪费。 JDBC的劣势与不足…- 0
- 0
- 53
-
Hbase- Hbase客户端读写数据时的路由流程
1、客户端先到zookeeper查找hbase:meta所在的RegionServer服务器 2、去hbase:meta表查找自己所要的数据所在的region server 3、去目标region server上的region要自己的数据 可以看出客户端查找数据可以不经过master- 0
- 0
- 39
-
-
Spark- Spark内核架构原理和Spark架构深度剖析
Spark内核架构原理 1.Driver 选spark节点之一,提交我们编写的spark程序,开启一个Driver进程,执行我们的Application应用程序,也就是我们自己编写的代码。Driver会根据我们对RDD定义的操作,提交一大堆的task去Executor上。Driver注册了一些Executor之后,就可以开始正式执行我们的Spark应用程序了,首先第一步,创建初始RD…- 0
- 0
- 53
-
Spark- Spark从SFTP中读取zip压缩文件数据做计算
我们遇到个特别的需求,一个数据接入的流程跑的太慢,需要升级为用大数据方式去处理,提高效率。 数据: 数据csv文件用Zip 压缩后放置在SFTP中 数据来源: SFTP 数据操作: 文件和它的压缩包一致,后缀不同。文件名中包含渠道、日期、操作标记("S"追加,"N"全量,"D"删除) 升级前的操作方式: she…- 0
- 0
- 98
-
Hadoop- Wordcount程序原理及代码实现
如果对Hadoop- MapReduce分布式计算框架原理还不熟悉的可以先了解一下它,因为本文的wordcount程序实现就是MapReduce分而治之最经典的一个范例。 单词计数(wordcount)主要步骤: 1.读数据 2.按行处理 3.按空格切分行内单词 4.HashMap(单词,value+1) 等分给自己的数据片全部读取完之后 5.将HashMap按照首字母范围分为3个H…- 0
- 0
- 64
-
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
- 131
-
数据仓库- 建模理念
数仓建模的目标 访问性能:能够快速查询所需的数据,减少数据I/O 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本。 使用效率:改善用户使用体验,提高使用数据的效率 数据质量:改善数据统计口径的不一致性,减少数据计算错误的可性,提供高质量的、一致的数据访问平台 大数据的数仓建模需要通过建模的方法更好的组织、存储数据、以便在性能、…- 0
- 0
- 39
-
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
- 30
-
Storm- 使用Storm实现词频汇总
需求:读取指定目录的数据,并实现单词计数的功能 实现方案: Spout来读取指定目录的数据,作为后续Bolt处理的input 使用一个Bolt把input 的数据,切割分开,我们按照逗号进分割 使用一个Bolt来进行最终的单词次数统计操作并输出 拓扑设计:DataSourceSpout ==>SpiltBolt ==>CountBolt Storm编程注意,…- 0
- 0
- 59
-
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
- 45
-
Spark- 使用第三方依赖解析IP地址
使用 github上已有的开源项目 1)git clone https://github.com/wzhe06/ipdatabase.git 2)编译下载的项目: mvn clean package- DskipTests 3)安装jar包到自己的 maven仓库 mvn install: install-file -Dfile=${编译的jar包路径}/target/ipdatab…- 0
- 0
- 83
-
ERROR- 开发常见error
一,数据插入MySql中出现中文乱码 解决办法有: 1。新建数据库选择 create database 'GG' CHARACTER SET 'utf8 ' COLLATE 'utf8_general_ci '; 2。建表的时候: CREATE TABLE `TableA` (`ID` varchar(40) NOT NUL…- 0
- 0
- 46
-
Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法
在SparkSQL中获取Row的值,而且Row的字段允许null时,在取值的时候取到null赋值给新的变量名会报NullPointerException错误, 可以先用row.isNullAt(index)去判断该字段的值是否为空 首先上错误 修改为先初始化变量,判断row.isNullAt(6) 如果不为空就将值赋值给变量- 0
- 0
- 84
-
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
- 69
-
Spark- 求最受欢迎的TopN课程
数据库操作工具类 package com.rz.mobile_tag.utils import java.sql.{Connection, DriverManager, PreparedStatement} object MySQLUtils { /** * 获取数据库连接 * @return */ def getConnection()={ DriverManager.getCon…- 0
- 0
- 71