自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 Maven打包udf函数时报StackOverflowError

问题:Maven打包udf函数时报StackOverflowError解决:在idea中设置堆栈大小即可

2021-09-08 16:15:02 218

原创 txt文件转为excel文件

1、准备待转换的txt文件2、新建excel3、插入数据这时候数据只有一列,怎么按需求转换成多列?4、切分数据手动设置分列的规则或者直接点击完成,注意分隔符5、点击完成

2021-01-12 15:12:08 1054

原创 阿里云同步数据时报错execute command denied to user ‘zy‘@‘%‘ for routine ‘product.to_char‘

原因:mysql中不支持to_char函数来转换日期格式解决:改成date_format即可说明:1、使用阿里云dataworks增量同步数据时,需要转换mysql中某个时间等于分区(例如‘20201118’),但是使用to_char转换时会报错,查询发现这个过滤条件是在源数据库执行的,所以需要遵循的是源数据库的语法2、怎么增量同步数据呢,语句怎么写?比如mysql中日期格式是:2020-11-18 00:00:00在同步语句中可以写为:DATE_FORMAT(update_time_, ‘%Y

2020-11-18 11:48:04 1024

原创 Maxwell

Maxwell1、概念maxwell 是由美国zendesk开源,用java编写的Mysql实时抓取软件。 其抓取的原理也是基于binlog2、安装1、tar -zxvf maxwell-1.25.0.tar.gz /opt/module/maxwell2、在MySQL中创建元数据库:CREATE DATABASE maxwell ;3、在MySQL中分配账户可以操作这个数据库:GRANT ALL ON maxwell.* TO 'maxwell'@'%' IDENTIFIED BY

2020-09-13 10:05:21 140

原创 Maven

Maven1、概念1、管理jar包用来帮助我们管理jar包的,包括添加,依赖,冲突,自动构建等2、环境变量1、检查jdk的环境变量配置:%JAVA_HOME%\bin;(JAVA_HOME = jdk中bin目录的根目录)2、解压maven;3、配置环境变量:%M2_HOME%\bin;(M2_HOME = maven中bin目录的根目录)4、检查:使用mvn -v在命令行检查即可,注意空格3、手动创建maven工程1、文件目录:Hello //工程名(根) src

2020-09-13 10:03:58 47

原创 MapReduce

MapReduce一、概念1、MapReduce简介1、分布式计算程序框架2、核心功能:将用户编码和自带组件组合成程序,运行在hdfs集群上优点:高容错(一个节点的任务失败了,会自动将任务转移到其他节点),易于编程,大容量(pb级),易于扩展(通过增加机器来增加计算能力)缺点:非实时,非有向图计算,非流式计算2、MapReduce核心工作原理假设待处理文件大小是300m,统计文件的单词数Map阶段:1、切分出三个切片,切分出3个部分,开三个MapTask处理线程2、每一个MapTa

2020-09-13 10:02:41 294

原创 Linux

Linux概念1、安装VMware Workstation步骤:双击——》接受——》自定义路径——》输入密钥——》完成打开2、安装CentOS步骤:打开VMware——》新建——》自定义类型——》下一步——》稍后安装操作系统——》选择Linux和centOS7 64位——》命名并指定位置建议固态硬盘中——》选择CPU数量:8核就2X4——》虚拟机内存2G以上——》网络NAT——》推荐——》推荐——》新建虚拟硬盘——》指定容量50G,将虚拟机拆分成多个文件——》磁盘文件位置为前面的安装位置——》装

2020-09-13 10:01:18 206

原创 kylin

kylin1、概念Apache Kylin是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表Kylin的主要特点包括支持SQL接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI工具集成2、kylin安装1、安装前环境准备:Hadoop、Hive、Zookeeper、HBase需要提前准备好,环境变量配置好2、解压:tar -zxv

2020-09-13 10:00:19 141

原创 kafka

kafka1.概述Kafka是一个分布式的基于发布/订阅模式的消息队列,主要应用于大数据实时处理领域。架构组成:生产者,broker,消费者,zk概念理解:producer:生产者,向kafka broker发消息的客户端consumer:消费者,从kafka broker取消息的客户端consumergroup:多个消费者组成一个消费者组,是逻辑上的一个订阅者,每个消费者消费一个分区的数据broker:一台kafka服务器就是一个brokertopic:一个队列,消费者和生产者面向的

2020-09-13 09:59:39 199

原创 jvm

jvm1、概念jvm内存介绍:方法区(Method Area)方法区主要是放一下类似类定义、常量、编译后的代码、静态变量等,在JDK1.7中,HotSpot VM的实现就是将其放在永久代中,这样的好处就是可以直接使用堆中的GC算法来进行管理,但坏处就是经常会出现内存溢出,即PermGen Space异常,所以在JDK1.8中,HotSpot VM取消了永久代,用元空间取而代之,元空间直接使用本地内存,理论上电脑有多少内存它就可以使用多少内存,所以不会再出现PermGen Space异常。堆(Hea

2020-09-13 09:58:53 71

原创 JDBC总结

JDBC总结一、概念1:JDBC的理解sun公司定义的一套ApI,实现对数据库的管理操作(包括获取连接和CURD等操作),说明:面向应用的API,Java API,抽象接口,供应用程序开发人员使用(连接数据库,执行SQL语句,获得结果);面向数据库的API:Java Driver API,供开发商开发数据库驱动程序用2、获取连接的4要素1、驱动:com.mysql.jdbc.Driver2、URL: jdbc:mysql://localhost:3306/test3、用户名和密码:use

2020-09-13 09:58:08 82

原创 Hive

hive一、概念1、hive概述Hive:由Facebook开源用于解决海量结构化日志的数据统计工具。Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。本质是:将HQL转化成MapReduce程序说明:1、hive数据存储在hdfs上2、hive底层实现是MapReduce3、hive程序运行在yarn上优点:操作方便,学习方便,处理海量数据,支持自定义函数缺点:延迟高,迭代算法无法表达,数据挖掘方面不擅长,自动生成的M

2020-09-13 09:57:08 551

原创 HDFS

HDFS一、概念1、HDFS简介1、是一个分布式的文件管理系统,通过目录树定位文件2、适合一次写入,多次读出的场景,不支持文件的修改,适合做数据分析优点:高容错,大容量,分布式缺点:不支持并发写入和随机修改,不适合低延时数据访问,对小文件低效2、HDFS架构1、namenode:控制端 处理客户端读写请求, 配置副本策略, 管理数据块映射信息, 管理HDFS名称空间2、datanode:执行端 存储实际的数据块, 执行数据块的读写操作 3、client:客户端文件

2020-09-13 09:55:52 345

原创 Hbase

Hbase1、概念分布式,可扩展,支持海量数据存储的,noSql数据库;随机读写,海量数据,实时,数十亿行 * 数百万列的大表2、逻辑结构列族region:row key:行标识,有序,查询时候的依赖列:列名存储的时候生成store:存储单元数据模型:name space 有点像database,默认有两个default(用户默认使用的表)和hbase(内置的表)table 表,定义时只需要指明列族即可,不需要指明具体的列row 每一个行都由一个rowKey和多个column组成

2020-09-12 19:44:09 134

原创 HashMap

HashMap1、概念是一种容器,jdk1.7数据结构是数组+链表,链表的节点存储的是entry对象,entry对象存储的是hash,key,value,nextjdk1.8数据结构是数组+链表+红黑树,链表节点存储的是Node对象类定义:public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable2、集合回顾接口实现

2020-09-12 19:43:07 76

原创 Hadoop

Hadoop一、概念1、关于Hadoop1、大数据:IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。2、大数据特点:大量、高速、多样、低价值密度3、hadoop:Hadoop是Apache基金会开发的分布式系统基础架构,用来解决数据的存储和海量数据的分析计算问题4、Hadoop三大发行版本:Apache版本最原始(最基础)的版本,对于入门学习最好。官网地

2020-09-12 19:42:18 180

原创 HA

HA一、概念1、能自动故障转移的HDFS-HA集群1、cp -r /opt/module/hadoop-3.1.3 /opt/module/ha/目的:可继承原来集群的配置文件,结果:module下出现新的文件夹ha,文件夹下是复制过来的hadoop-3.1.32、在hadoop102上配置core-site.xml hdfs-site.xml yarn-site.xml目的:搭建新的集群,集群规划体现在配置文件中结果:产生三个新集群的配置文件core-site.xml hdfs-site

2020-09-12 19:20:13 210

原创 Flume

Flume1、flume定义1、Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。(分布式日志采集系统)2、Flume基于流式架构,灵活简单。主要作用是可以实时读取本地磁盘数据,写入hdfs2、flume组成1、一个jvm进程agent2、包含三个线程:source、channel、sink3、传输数据的单元是eventagentjvm进程:将数据以事件的形式从源头传向目的地source接受数据,类型包括:avro、thrift

2020-09-12 19:04:30 139

原创 Flink

Flink1、概述分布式,高性能,流式处理,开源应用场景:电商广告推送、物联网数据采集、电信业基站流量调配、银行和金融业特点:事件驱动、流处理2、安装standalone1、解压缩:tar -zxvf flink-1.10.1-bin-scala_2.12.tgz -C /opt/module/2、改名字:mv flink-1.10.1 flink3、修改配置文件:cd /opt/module/flink/conf vim flink-conf.yamljobmanager.

2020-09-12 19:02:50 251 1

原创 azkaban

azkaban1、azkaban概述工作流调度系统2、常见的任务调度1、简单的任务调度:直接使用linux的crontab来定义2、复杂的任务调度:开发调度平台或使用现成的开源调度系统,比如ooize、azkaban、Cascading、Hamake3、ooize和azkaban对比1、功能上:两者均可以调度mapreduce,pig,java,脚本工作流任务两者均可以定时执行工作流任务2、传参数:Azkaban支持直接传参,例如${input}Oozie支持参数和EL表达

2020-09-12 19:00:57 116

原创 elasticsearch

elasticsearch1、概念ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎特点:1、天然分片、天然集群2、天然索引:传统索引:文档 ---> 单词倒排索引:单词 ---> 文档2、数据库比较redismysqlelasticsearchhbase

2020-09-12 19:00:22 156

原创 ClickHouse

ClickHouse1、概述1、俄国人使用c++编写2、列式存储3、开源4、在线分析处理查询(OLAP)2、原理概述1、列式存储的好处:对于列的聚合,计数更优同一列的数据类型相同,压缩性能更好,更节省磁盘空间2、写操作:采用类似LSM tree 的结构,数据先顺序写入临时数据区,之后异步合并到主数据区,写入性能优异,单不支持删改行数据,也不支持事务3、读操作:clickhouse是单语句多线程,即一条查询语句可能是由多个线程完成的,而MySQL中一条查询语句只有一个线程,多个

2020-09-12 18:59:48 326

原创 Canal

Canal1、概念canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL2、原理mysql的主从复制:1、master将改变记录写入二进制日志中(被称为二进制事件)2、slave将master的二进制事件拷贝到中继日志中,3、slave重做中继日志中的事件canal的原理:1、canal模拟mysql slave的交互协议,伪装自己为slave,向master发送dump协议2、master收到dump

2020-09-12 18:58:58 83

原创 Hbase报错:java.net.ConnectException: 拒绝连接

进入logs看到如下错误:java.net.ConnectException: Call From hadoop103/192.168.248.103 to hadoop102:8020 failed on connection exception: java.net.ConnectException: 拒绝连接; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused解决:检查hdfs中配置:core-site.x

2020-06-19 12:18:17 3995 6

原创 Hadoop中Spark框架比MR框架快的原因

1、基于内存;2、弹性分布式数据集RDD(Rsilient Distributed Dataset);3、支持 DAG (有向无环图)框架还有什么其他原因,欢迎补充

2020-06-11 16:09:23 296 2

原创 在Scala中如何把一段代码作为参数传入函数

定义函数def fun(f : => Any): Unit = f然后就可以使用fun执行任意代码块了比如:fun(println(“输出代码块”))//一行代码作为参数不用大括号再比如:fun({val num = Math.random() * 3if(num > 2){println(“计算结果大于二”)}else{println(“计算结果小于二”)}})//多行代码作为参数需要大括号最后你就可以将任意代码块传入函数执行啦...

2020-06-08 23:35:14 640

原创 Scala中函数柯里化的简单使用

@TOC](直接上代码)def main(args: Array[String]): Unit = { implicit val num = 1//隐式变量 def fun(i : Int)(implicit j : Int) = { i + j } println(fun(5)(6))//11,有参数就用传入的参数 println(fun(5))//6,没有参数就使用默认值}欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页

2020-06-08 22:53:13 198 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除