自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 面试总结

mr程序处理过程-解释环形缓冲区描述hdfs的高可用redis常用数据类型描述scala中的伴生对象flume主要分为哪三个部分 及其分工hive常用窗口函数MR程序处理数据倾斜udf理解 udaf 和 udtf 的区别

2021-03-09 01:50:48 142

原创 Titan数据运营系统--jjjjjjjjj

hadoop集群启停:start-all.sh|stop-all.sh(+环境变量,hdfs+yarn)hdfs集群启停:start-dfs.sh|stop-dfs.sh(+环境变量)zookeeper启停:①:单机启停命令:${ZOOKEEPER_HOME}/bin/zkServer.sh start|zkServer.sh stop②:开发一个shell脚本做到一键启停#!/bin/basharg=$1for name in linux01 linux02 linux03do ss.

2021-01-13 22:31:01 499 1

原创 Titan 数据运营系统 --数据的采集和ods开发

一:埋点数据的采集1.1埋点日志在本项目中,有3大类:①App端行为日志②PC web端行为日志③微信小程序端行为日志日志生成在了公司的N台(5台)日志服务器中,现在需要使用flume采集到HDFS1.2需求3类日志采集后要分别存储到不同的hdfs路径①日志中的手机号、账号需要脱敏处理(加密)②不同日期的数据,要写入不同的文件夹,且分配应以事件时间为依据③因为日志服务器所在子网跟HDFS集群不在同一个网段,需要中转传输1.3埋点数据中的结构和说明埋点生成的日志数据,统一设计

2021-01-12 20:34:02 518 2

原创 Impala入门操作

Hue页面:账户密码:admin 访问端口号 8888impala 登录指令 impala-shell --quiet/ impala-shell -i doitcdh --quietimpala中建表hive中可以直接看到,hive中建表inpala中见不到,需要刷新元数据invalidate metadata; --更新元数据reflush tb_a1 --更新表数据c'c'c'c'cimpala中插入数据hive中可以直接看到,hive中插入数据直接报错,需要修改以下文件ro.

2020-12-10 00:20:36 833

原创 CDH的Hadoop集群搭建

创建一个新的虚拟机分配8G+内存,100G+硬盘,4核+处理器,配域名映射,免密,ip地址,主机域名映射一:Linux中安装CDHlinux中域名映射vi /etc/hosts修改固定ip地址vi /etc/sysconfig/network-scripts/ifcfg-ens33 配置免密 ssh-keygen --一路回车 ssh-copy-id doitcdh --分发免密给自己在/opt目录下创建一个apps文件夹上传文件夹到此目录下详细步骤:①: vi.

2020-12-09 22:24:49 639 1

原创 ClickHouse实战案例-----终

步骤一:准备日志数据数据是一个标准的JSONROW数据 加载数据步骤二:将日志数据文件导入到Hive的ODS层①:建表并导入数据create table tb_log(log string ) partitioned by(dt string);load data local inpath "/opt/data/log.log" into table tb_log partition(dt='20201007');②:json解析数据在hive中建ODS表cre

2020-12-07 23:47:36 1645

原创 ClickHouse中的SQL语法和函数详解

– with语法 with '1' as v select * from tb_user where id=v; --求平均年龄 with (select count(1) from tb_user) as cnt select (sum(age)/cnt) from tb_user;array join 语法array join 相当于explode+lateral viewselect id,arr from tb_arr_join array join arr; --会覆盖原先的数组

2020-12-06 23:59:41 3016

原创 ClickHouse实践篇

SummingMergeTree引擎建表– 将区内相同主键的所有的数据累加create table tb_summ_merge_tree(id Int8 ,name String,cDate Date,cost Float64) engine=SummingMergeTree(cost)order by id --主键partition by name;insert into tb_summ_merge_tree values(1,'zss','2020-10-05',6.9),

2020-12-06 22:43:33 355

原创 ClickHouse基本语法及常见存储引擎

ClickHouse的安装1)安装curl工具 yum install -y curl2)添加clickhouse的yum镜像 curl -shttps://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh| sudo bash3)检查镜像情况 [root@doit04 yum.repos.d]# yum list | grepclickhouse cli

2020-12-04 23:56:30 1118

原创 Hive企业级调优

**对SQL语句的优化 统计个数使用count(1),不要使用count(*)查询字段不要select * ,使用select 字段使用特殊的存储格式 列式存储:ORC,parquet 建表的时候 stored as orc小表join大表(MR程序中的map端 jojn) 小表是个小文件可以分布式的缓存到集群的其他的maptask中,就不需要reduce端join开启map端的局部聚合 默认是开启的避免count(distinct)进行join的时候避免笛卡儿积适当的调整

2020-12-03 17:10:52 97

原创 Hive中的集合数据类型及功能扩展

Hive中的数据类型在hive中的数据类型①:int bigint double string timestamp②:struct 类似于java对象 pojo类③:array 数组④:map 键值对

2020-12-03 15:22:08 263

原创 Hive常用函数

行转列列转行1:行转列将多行的数据合并到一列中 select collect_list(empname ) from emp; --去重 select collect_set(deptno) from emp;这两个都是聚合函数 将收集的多行数据聚集成一个数组集合2:concat 拼接 参数是可变参数 拼接字符串 select concat(deptno,empno) from emp;3:concat_ws 参数一 拼接符 参数二 可变个数的字符串 数组sel

2020-12-01 23:28:11 2439

原创 Hive的DDL操作基础篇

建表基本语法CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] 分区[CLUSTERED BY (col_name, col_name, ...) 分桶[SORTED B

2020-11-28 23:34:10 337

原创 Hive的安装及Hive入门

Hive的安装mysql数据 远程连接权限1)linux中登录mysal:mysql -uroot -proot2) set global validate_password_policy=0;3) set global validate_password_length=1;这个两个设置以后 密码很简单不会报错4) 设置允许远程连接linux: grant all privileges on . to ‘root’@’%’ identified by ‘root’ with gran

2020-11-28 13:56:41 237

原创 Hbase原理增强

Hbase写数据流程客户端向zookeeper发起请求要访问元数据信息zookeeper向客户端返回元数据表的位置客户端向regionserver请求下载元数据表下载缓存(META)–>解析:rowkey所在位置,hosts,regionname请求指定的regionserver写数据先将数据写到内存中去,并记录日志文件数据被到->region中store(cf1)【列族】的’memorystore’【缓存】中,当memorystore内存达到一定大小后开始flush【刷写】到s

2020-11-25 21:52:24 173

原创 Hbase的Java客户端续

Java客户端—插入更新数据 putput(Put) 插入一行数据put(List) 插入多行数据数据的插入必要的内容 表名 行建 列族:属性 值( Put 方式不好 一行插入一次 进行一次RPC请求)//获取操作数据的表对象 Table table = Hbase_Utils.getTable("tb_test01"); //设定行键 rk1000,rk2000 Put put = new Put(Bytes.toBytes("rk1

2020-11-25 20:06:50 225

原创 Hbase的Shell客户端和Java客户端入门

Hbase的shell客户端操作Group name: general 一般的命令processlist : 进程列表status : 集群状态table_help : 表的帮助(X)version : hbase的版本whoami : 当前用户是谁Group name: ddl 数据定义语言alter : 修改表结构(列族 列族属性 多个列族)修改列族属性2) 添加列族3) 删除列族create, 建表 预分regiondescri

2020-11-24 23:08:43 236

原创 LINUX中HADOOP集群搭建

1安装虚拟机2基本配置设置ip地址重启网络服务关闭防火墙设置linux域名映射修改主机中的域名映射cd C:\Windows\System32\drivers\etc\hosts3 在linux上安装jdk虚拟机上安装未下载好的指令一:虚拟机上安装jdk1:上传jdk压缩包并解压2:配置JAVA_HOME刷新查看是否部署成功二: 虚拟机中安装tomcat1: 上传tomcat压缩包 并解压2:在tomcat的home目录的bin目录下执行./st

2020-11-23 15:01:54 527 1

原创 MR程序在YARN上的生命周期

将main方法中的job提交到resourcemanager(RM)中resourcemanager 返回其一个jobID和工作目录初始化job(①在HDFS中创建一个带有jobID的工作目录②初始化配置在job.xml文件中③上传jar包④计算任务切片)启动程序(到RM中有一个applicationmaster(AM)负责的全部job中找到其相对应的jobID,然后JOB会去找scheduler(调度器)去申请一个默认容器[1c,1.5G],然后调度器生成调度任务(去nodemanager(NM).

2020-11-20 23:06:14 258

原创 MR程序数据倾斜现象

数据倾斜出现现象整个job执行很久,或者无法执行成功,无法执行完毕数据倾斜出现原因原因 shuffle -->分区逻辑 key本身就是倾斜的 内存不足分区逻辑(可能取模之后就直接分配不均衡)key倾斜(有一个key的数量多取模之后它的分区数据也多)数据倾斜解决方法重写分区逻辑重新设计key √增加reduce的并行度 2----->10避免shuffle(reduce没有或为1)增加一些内存...

2020-11-19 14:00:17 499

原创 M-R程序内部处理数据简单流程

job提交的时候初始化JOB ①:输入路径 ②:reduce的个数 ③:输出路径 ④:maptask ⑤:reducetask根据输入路径 计算任务切片 split[]根据任务切片 初始化maptask(文件名,startoffset(处理数据的起始位置),length,map方法)maptask运行maptask处理数据 输入路径 >>Reader>>readline>>(K[LongWritable],v[Text])&g.

2020-11-19 13:17:08 540

原创 M-R程序设计核心思想

单节点无法处理海量数据多个节点并行处理数据 并行(同时处理不同的数据)任务划分(在HDFS的一个物理数据块为一个任务切片) 提高了本地处理数据的转换率任务就是jar包 移动分配 (移动运算)map端处理数据(局部结果) 结果汇总reduce端 对map端的结果进行聚合 分区器 分组器聚合的任务 聚合的逻辑maptask reducetask job分区器 分组器分区器:有不同的数据 将不同的数据通过hashcode取模划分不同的任务分组器:通过key 分.

2020-11-19 12:42:21 252

空空如也

空空如也

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

TA关注的人

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