-
Spark- Spark从SFTP中读取zip压缩文件数据做计算
我们遇到个特别的需求,一个数据接入的流程跑的太慢,需要升级为用大数据方式去处理,提高效率。 数据: 数据csv文件用Zip 压缩后放置在SFTP中 数据来源: SFTP 数据操作: 文件和它的压缩包一致,后缀不同。文件名中包含渠道、日期、操作标记("S"追加,"N"全量,"D"删除) 升级前的操作方式: she…- 0
- 0
- 139
-
HIVE- SCD缓慢变化维
SCD缓慢变化维,比如一个用户维表,用户属性会变化,但是不会变化很剧烈,可能一年只会变化一两次,也不会所有用户的属性都会有变化,只有少量的数据发生变化,所以叫缓慢变化维。这种问题就是由于维度的变化所造成的。 解决方式: 是否保留历史数据 保留多久历史数据 历史状态如何与事实表关联 SCD1 保留最新状态 注册日期 用户编号 手机号码 2019-01-01 0001 111111 20…- 0
- 0
- 87
-
Hadoop- HDFS的API操作
1、引入依赖 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.1</version> </dependency> 注:如需手动引入ja…- 0
- 0
- 186
-
Python- 贪婪与非贪婪
python运行匹配时,如果没有人为限定,默认是贪婪模式。 import re a = 'python 22222java34bigdata' r = re.findall('[a-z]{3}',a) # 打印三个字符 rr = re.findall('[a-z]{3,6}',a) # 匹配到的长度最小为3,最长不能超过 r…- 0
- 0
- 129
-
Hbase- Hbase客户端读写数据时的路由流程
1、客户端先到zookeeper查找hbase:meta所在的RegionServer服务器 2、去hbase:meta表查找自己所要的数据所在的region server 3、去目标region server上的region要自己的数据 可以看出客户端查找数据可以不经过master- 0
- 0
- 70
-
Hadoop- MR的shuffle过程
step1 input InputFormat读取数据,将数据转换成<key ,value>对,设置FileInputFormat,默认是文本格式(TextInputFormat) step2 map map<KEYIN, VALUEIN, KEYOUT, VALUEOUT> 默认情况下KEYIN:LongWritable,偏移量。VALUEIN:Text,K…- 0
- 0
- 82
-
Scala- Double类型工具类
格式化分数,按照指定小数位四舍五入工具类 package com.rz.util object NumberUtils { /** * 格式化小数 * @param num Double对象 * @param scale 四舍五入的位数 * @return 格式化后的小数 */ def formatDouble(num: Double, scale: Int)={ val decim…- 0
- 0
- 76
-
Spark- 根据ip地址计算归属地
主要考察的是广播变量的使用: 1、将要广播的数据 IP 规则数据存放在HDFS上,(广播出去的内容一旦广播出去产就不能改变了,如果需要实时改变的规则,可以将规则放到Redis中) 2、在Spark中转成RDD,然后收集到Driver端, 3、把 IP 规则数据广播到Executor中。Driver端广播变量的引用是怎样跑到 Executor中的呢? Task在Driver端生成的,…- 0
- 0
- 176
-
数据仓库- 建模理念
数仓建模的目标 访问性能:能够快速查询所需的数据,减少数据I/O 数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本。 使用效率:改善用户使用体验,提高使用数据的效率 数据质量:改善数据统计口径的不一致性,减少数据计算错误的可性,提供高质量的、一致的数据访问平台 大数据的数仓建模需要通过建模的方法更好的组织、存储数据、以便在性能、…- 0
- 0
- 80
-
CDH- 集群时间同步ntp问题解决
在CDH集群中发现有两台机器获取不到心跳(),导致监控不了机器状态,出现告警 可以使用ntpstat检查与ntp 服务器的时间偏差状态 使用 ntpstat 发现没有同步到ntp时间服务器,运行 ntpdate ip 添加时间同步服务器出现报错 the NTP socket is in use, exiting 网上搜了一下,大部分的建议是…- 0
- 0
- 86
-
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
- 120
-
-
Spark- 性能优化
由于Spark 的计算本质是基于内存的,所以Spark的性能城西的性能可能因为集群中的任何因素出现瓶颈:CPU、网络带宽、或者是内存。如果内存能够容得下所有的数据,那么网络传输和通信就会导致性能出现频惊。但是如果内存比较紧张,不足以放下所有的数据(比如在针对10亿以上的数据量进行计算时),还是需要对内存的使用进行性能优化的,比如说使用一些手段来减少内存的消耗。 Spark性能优化,其…- 0
- 0
- 111
-
Spark- Checkpoint原理剖析
Checkpoint,是Spark 提供的一个比较高级的功能。有的时候,比如说,我们的 Spark 应用程序,特别的复杂,然后从初始的RDD开始,到最后拯个应用程序完成,有非常多的步骤,比如超过20个transformation 操作。而且整个应用运行的时间也特别的长,比如通常要运行1-5小时。 在上述的情况下,就比较适合使用checkpoint 功能。因为,对于特别复杂的 Spar…- 0
- 0
- 106
-
Python- NumPy
NumPy包括的内容 NumPy系统是 Python的一种开源的数值计算扩展,是一个用 python实现的科学计算包。包括: 一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组,称为 ndarray(N-dimensional array object ) 用于对整组数据进行快速运算的标准数学函数, func( universal function object) 用于整…- 0
- 0
- 220
-
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
- 187
-
Spark- SparkStreaming可更新状态的实例
Producer package zx.zx.sparkkafka import java.util.Properties import kafka.producer.{KeyedMessage, Producer, ProducerConfig} import scala.util.Random /** * Created by 166 on 2017/9/6. */ object…- 0
- 0
- 130
-
Spark- 求最受欢迎的TopN课程
数据库操作工具类 package com.rz.mobile_tag.utils import java.sql.{Connection, DriverManager, PreparedStatement} object MySQLUtils { /** * 获取数据库连接 * @return */ def getConnection()={ DriverManager.getCon…- 0
- 0
- 167
-
Spark- 优化后的 shuffle 操作原理剖析
在spark新版本中,引入了 consolidation 机制,也就是说提出了ShuffleGroup的概念。一个 ShuffleMapTask 将数据写入 ResultTask 数量的本地文本,这个不会变。但是,当下一个 ShuffleMapTask 运行的时候,可以直接将数据写入之前的 ShuffleMapTask 的本地文件。相当于是,对多个 ShuffleMapTask 输出…- 0
- 0
- 78
-
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
- 91
-
HIVE- 新建UDF范例
首先pom文件导入依赖,Hadoop和hive的依赖导入自己机器的版本,hive记得导jdbc <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.6.1</v…- 0
- 0
- 100
-
Spark- Transformation实战
RDD的算子分为两类,是 Trans formation(Lazy),一类是 Action(触发任务执行 RDD不存在真正要计算的数据,而是记录了RDD的转换关系(调用了什么方法,传入什么函数) RDD的 Trans formation的特点 1. lazy 2.生成新的RDD package cn.rzlee.spark.core import org.…- 0
- 0
- 121
-
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
- 133
-
Spark- SparkSQL中 Row.getLong 出现NullPointerException错误的处理方法
在SparkSQL中获取Row的值,而且Row的字段允许null时,在取值的时候取到null赋值给新的变量名会报NullPointerException错误, 可以先用row.isNullAt(index)去判断该字段的值是否为空 首先上错误 修改为先初始化变量,判断row.isNullAt(6) 如果不为空就将值赋值给变量- 0
- 0
- 133
-
Spark- RDD持久化
官方原文: RDD Persistence One of the most important capabilities in Spark is persisting (or caching) a dataset in memory across operations. When you persist an RDD, each node stores any partitions …- 0
- 0
- 126
-
HIVE- 大数据运维之hive管理
我现在在一家公司负责大数据平台(CDH平台)的运维管理,最常遇见的问题我总结出来,并且继续在下面更新。希望方便自己以后trouble shooting以及方便各位同行解决问题与学习。 关于做运维有几个重要的要点一定一定要遵守的: 遇到问题冷静,冷静,冷静,就山崩都要冷静,心态关乎你是否能将问题解决同时不会给人留下不好的印象。 凡是关于对集群更改与变动的操作,一定要在测试环境测试到没问…- 0
- 0
- 130
-
Hadoop- Hadoop环境搭建
Windows下Hadoop的安装 准备工具:64位的JDK,Hadoop安装包(我使用的是2.6.1) JDK下载地址 官网: http://www.oracle.com/technetwork/java/javase/downloads/index.html Hadoop下载地址 官网:http://hadoop.apache.org/ 1.安装JDK环境,配置系统环境变量. 选…- 0
- 0
- 92
-
Kafka- Kafka架构功能
Kafka是一个高吞吐量的分布式消息系统,一个分布式的发布-订阅消息系统。Kafka是一种快速,可拓展的,设计内在就是分布式的,分区的可复制的提交日志服务。 Apache Kafka与传统消息系统相比,有以下不同: 它设计为一个分布式系统,易于向外拓展; 它同时为发布和订阅提供高吞吐量; 它支持多订阅者,当失败时能自动平衡消费者; 它将消息持久化到磁盘,因此可用于批量消费,例如ETL…- 0
- 0
- 66
-
Hadoop- NameNode和Secondary NameNode元数据管理机制
元数据的存储机制A、内存中有一份完整的元数据(内存meta data)B、磁盘有一个“准完整”的元数据镜像(fsimage)文件(在namenode的工作目录中)C、用于衔接内存metadata和持久化元数据镜像fsimage之间的操作日志(edits文件)NameNode和Secondary NameNode元数据管理机制客户端每次对文件的操作,如果涉及到元数据的更新(读除外),比如…- 0
- 0
- 90
-
Redis- 内存数据库Redis之安装部署
内存数据库Redis之安装部署 Redis是一款非关系型,key-value存储的内存数据库,Redis数据库完全在内存中,使用磁盘仅用于持久性。Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。 支持丰富的数据类型:Redis支持字符串、列表、集合、有序集合散列数据类型,这使得它非常容易解决各种各样的问题。把redis看成java的一个hashmap你就入门…- 0
- 0
- 129
-
Hadoop- Wordcount程序原理及代码实现
如果对Hadoop- MapReduce分布式计算框架原理还不熟悉的可以先了解一下它,因为本文的wordcount程序实现就是MapReduce分而治之最经典的一个范例。 单词计数(wordcount)主要步骤: 1.读数据 2.按行处理 3.按空格切分行内单词 4.HashMap(单词,value+1) 等分给自己的数据片全部读取完之后 5.将HashMap按照首字母范围分为3个H…- 0
- 0
- 124
-
Hadoop- 分布式资源管理YARN架构讲解
YARN是分布式资源管理,每一台机器都要去管理该台计算机的资源,Yarn负责为MapReduce程序分配运算硬件资源。每一台机器的管理者叫 NodeManager,整个集群的管理者管理着整个集群的NodeManager,叫 ResourceManager。资源调度和资源隔离是YARN作为一个资源管理系统最重要和最基础的两个功能。资源调度由 ResourceManager 完成,而资源…- 0
- 0
- 141
-
Linux- AWS之EC2大数据集群定时开关机
众所周知,云计算就是在计算你的钱,每当ec2开起来就要开始计费。当用户购买了一个庞大的与服务器做一个集群,尤其是用来做大数据集群,这些服务器的配置相当高,每台服务器所需要的费用不菲。其实在很多时候没能够完全利用起其全部的资源,尤其在空闲时间,在夜间没有作业的情况下,这些服务器完全处于空闲的状态,却时刻在计费,这是相当不划算的。于是有这样一个方案,我们是不是可以在机器处于空闲的状态时将…- 0
- 0
- 146
-
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
- 236






































