笔记
峰二爷
如果哪天你忘了努力,
我把科比讲给你听!
展开
-
flink对watermark的处理
watermark原创 2021-12-31 14:43:04 · 1111 阅读 · 0 评论 -
虚拟机联网
curl -X POST http://1.1.1.3/ac_portal/login.php -H ‘content-type: application/x-www-form-urlencoded’ -H ‘origin: http://1.1.1.3’ -H ‘user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/53原创 2021-07-21 16:05:39 · 424 阅读 · 0 评论 -
知识点总结
HADOOP DAY01 总结IO的随机读取数据:获取文件输入流 new FileInputStresm(“d://”)读取数据 fs.read() fs.skip(2L)跳过指定字节 写write不能随机写打印sout序列化:本质是对象转二进制的规则(java的序列化实现接口)newObjectOutputStream(new FileOutputStresm((“d://”))自定义序列化实现指定数据传输,减少冗余oos.writeInt(user.getId);…写出ois.r原创 2021-06-22 22:11:59 · 218 阅读 · 0 评论 -
hive的安装
hive的安装1 mysql数据 远程连接权限1) mysql -uroot -proot(密码不是root修改成root set password=PASSWORD(‘root’))2) set global validate_password_policy=0;3) set global validate_password_length=1; 这个两个设置以后 密码很简单不会报错4) grant all privileges on *.* to 'root'@'%' ident原创 2021-06-22 22:08:15 · 152 阅读 · 2 评论 -
安装 CK
需联网安装!单机安装安装curl工具yum install -y curl添加clickhouse的yum镜像curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash检查镜像情况[root@doit04 yum.repos.d]# yum list | grep clickhouseclickhouse-client.x86_64原创 2021-06-22 22:06:25 · 667 阅读 · 0 评论 -
hdfs导入hive
从hdfs导入数据到hive表中(脚本)脚本存于/opt/data/loginit/1doit19_datayi/shells-- app入库脚本开发 #!/bin/bash ###################################### # # @author : bao # @date : 2021-01-11 # @desc : app端埋点日志入库 # @other ####################################原创 2021-06-22 22:05:10 · 649 阅读 · 0 评论 -
flume配置
2.1 配置采集方案通过上游采集,下游直接写入到hdfs中。配置两个sink用于sink高可用上游配置: a1.sources = r1 a1.channels = c1 a1.sinks = k1 k2#sources:用到TAILDIR类型,记录偏移量,安全,快开重连可以接着上次的位置继续采集数据 a1.sources.r1.channels = c1 a1.sources.r1.type = TAILDIR #根据终端定义相应地文件组,分别制定其对应的日志存储位置进行数据的读原创 2021-06-22 22:02:35 · 647 阅读 · 2 评论 -
CM+CDH 从0-1大数据集群基本搭建超级详细步骤
一 :环境准备:创建虚拟机命名为:democdh (虚拟机磁盘至少选60G,内存也要尽可能大写,我选的8G)修改Windows中的host文件添加主机域名映射: 192.168.133.222 democdh修改虚拟机democdh主机名: 命令:vi /etc/hostname 内容:democdh修改域名映射: 命令:vi /etc/hosts 最后一行后添加内容:192.168.133.222 democdh修改ip地址以及网管等:命令:vi /etc/sysconfi...原创 2020-12-10 23:57:41 · 575 阅读 · 0 评论 -
clickHouse高阶函数-countEqual(arr,x)
clickHouse高阶函数-countEqual(arr,x) 返回数组中与x相同的元素的个数例:查询数组中3的个数SELECT countEqual([1, 2, 3, 3], 3)┌─countEqual([1, 2, 3, 3], 3)─┐│ 2 │└─────────────────────────────┘1 rows in set. Elapsed: 0.010 sec....原创 2020-12-08 16:52:12 · 712 阅读 · 0 评论 -
clickHouse-高阶函数arrayCount()
clickHouse-高阶函数arrayCount()求数组中元素的个数 SELECT arrayCount(x -> x, [1, 2, 3, 4]); ┌─arrayCount(lambda(tuple(x), x), [1, 2, 3, 4])─┐ │ 4 │ └───────────────────────────────────────────────┘ 1 rows in set. Elaps原创 2020-12-08 16:45:42 · 3251 阅读 · 0 评论 -
clickHouse-高阶函数arrayMap()
arrayMap(参数1,参数2)参数1:参数1是一个函数,规定了对数组中元素的操作行为参数2:是一个数组例:arrayMap(x->x*10,[1,2,3,4]) x表示数组中每一个元素, ->后面的表达式表示对数组中每一个数据的操作( 这里将x替换成y,依然能实现功能,所有x只是一个代理符号可以替换成其他的符号) 把数组中每个数乘以10 SELECT arrayMap(y -> (y * 10), [1, 2, 3, 4]) ┌─arrayMap(lam原创 2020-12-08 16:25:06 · 6334 阅读 · 0 评论 -
ClickHouse-FROM从MySQL ,HDFS中直接读取数据
从HDFS中直接读取数据加载到表中创建表:CREATE TABLE tb_ch_fromENGINE = TinyLog ASSELECT *FROM hdfs(‘hdfs://linux01:8020/data/user.csv’,‘CSV’,‘uid Int8,name String,gender String,age UInt8’)注意:此处建表没有直接指定字段写在()中SELECT * FROM hdfs 时hdfs是小写,在直接用HDFS 引擎时是用的大写(engine原创 2020-12-07 23:34:39 · 1027 阅读 · 0 评论 -
clickhouse-集成引擎,从HDFS,MySQL,Hive等数据源中读取数据
HDFS引擎 在CH中创建HDFS 表引擎,就可也把HDFS 中的数据映射到创建的表中,对表中数据进行操作。创建HDFS引擎:create table tb_ch_hdfs(uid String,name String,city String,age UInt8)engine =HDFS(“hdfs://linux01:8020/ch/data/”,“CSV”) --文件路径(可以用/*.CSV指定文件夹下多个文件) 文件格式MySQL数据库引擎,和MySQL表引擎 M..原创 2020-12-07 22:26:14 · 2502 阅读 · 0 评论 -
clickHouse-Merge引擎,可同时从任意多个表中读数据
Merge:可用于同时从任意多个其他的表中读取数据。 读是自动并行的,不支持写入。读取时,那些被真正读取到数据的表的索引(如果有的话)会被使用。Merge 引擎的参数:一个数据库名和一个用于匹配表名的正则表达式。create table tt1 (id UInt16, name String) ENGINE=TinyLog;create table tt2 (id UInt16, name String) ENGINE=TinyLog;create table tt3 (id UInt16, na原创 2020-12-07 20:56:22 · 749 阅读 · 0 评论 -
clickHouse-文件引擎
File表引擎以特殊的文件格式(CSV,Native等)将数据保存在文件中(支持的格式如下https://ClickHouse.tech/docs/v20.3/en/interfaces/formats/#formats)。用法示例: File(Format)数据从ClickHouse导出到文件将数据从一种格式转换为另一种格式通过编辑磁盘上的文件来更新ClickHouse中的数据。示例一:创建好表,在表所在路径下编辑数据,数据就会进入表中,可查询;建表create table tb_f原创 2020-12-07 20:44:58 · 514 阅读 · 0 评论 -
clickHouse-缓存引擎
缓冲数据以写入内存,并定期将其刷新到另一个表。在读取操作期间,同时从缓冲区和另一个表读取数据。Buffer(database, table, num_layers, min_time, max_time, min_rows, max_rows, min_bytes, max_bytes)引擎参数:database- 数据库名称。可以使用返回字符串的常量表达式来代替数据库名称。table –将数据刷新到的表。num_layers–并行层。在物理上,该表将表示为num_layers独立的缓冲区。建议值原创 2020-12-06 23:43:28 · 2185 阅读 · 0 评论 -
clickHouse-Memory引擎
内存引擎,数据以未压缩的原始形式直接保存在内存当中,服务器重启数据就会消失。读写操作不会相互阻塞,不支持索引。简单查询下有非常非常高的性能表现(超过10G/s)。一般用到它的地方不多,除了用来测试,就是在需要非常高的性能,同时数据量又不太大(上限大概 1 亿行)的场景。– 创建一个Memory引擎的表create table tb_memory(id Int8 , name String) engine = Memory ;– 插入数据 insert into tb_memory.原创 2020-12-06 23:36:43 · 1323 阅读 · 0 评论 -
clickHouse-MergeTree家族引擎
- MergeTree系列的表引擎是ClickHouse数据存储功能的核心。 - 它们提供了用于弹性和高性能数据检索的大多数功能:列存储,自定义分区,稀疏的主索引,辅助数据跳过索引等。 - 基本MergeTree表引擎可以被认为是单节点ClickHouse实例的默认表引擎,因为它在各种用例中通用且实用。 - MergeTree系列(*MergeTree)的引擎和其他引擎是最强大的ClickHouse表引擎 - MergeTree系列中的引擎旨在将大量数据插入表中。数据快速地逐个部分地写入表中,然.原创 2020-12-06 23:29:42 · 544 阅读 · 0 评论 -
clickHouse-日志引擎
引擎:不同的引擎决定了不同的数据存储位置和数据的特点(引擎可以简单理解为存储数据的地方)数据库引擎(集成引擎 Kafka MySQL ODBC JDBC HDFS ):使用方法,例如:建表时 engine=HDFS(hdfs://linux01:8020/数据文件存储的路径)表引擎:常用的 日志引擎,MergeTree家族引擎 等分布式引擎:...原创 2020-12-06 22:40:39 · 415 阅读 · 0 评论 -
clickHouse 基本数据类型
整型 :固定长度的整型,包括有符号整型或无符号整型。整型范围(-2n-1~2n-1-1):Int8 - [-128 : 127]Int16 - [-32768 : 32767]Int32 - [-2147483648 : 2147483647]Int64 - [-9223372036854775808 : 9223372036854775807]无符号整型范围(0~2n-1):UInt8 - [0 : 255]UInt16 - [0 : 65535]UInt32 - [0 : 429496原创 2020-12-06 22:04:49 · 448 阅读 · 0 评论 -
clickHouse简介
ClickHouse:分布式数据库自己管理数据,读取别人的 mysql hdfs 网络 本地文件存储海量数据解决并发完全的列式存储 ClickHouse是俄罗斯的Yandex于2016年开源的一个用于联机分析(OLAP:Online Analytical Processing)的列式数据库管理系统(DBMS:Database Management System),简称CH , **主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。** Clic原创 2020-12-06 21:01:24 · 389 阅读 · 0 评论 -
Hive中分区 和 分桶
分区针对的是数据的存储路径(partition by 字段); 分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的分区,特别是之前所提到过的要确定合适的划分大小这个疑虑。分桶针对的是数据文件(into 字段个数 buckets)对Hive(Inceptor)表分桶可以将表中记录按分桶键(字段)的哈希值分散进多个文件中,这些小文件称为桶。分桶是将数据集分解成更容易管理的若干部分的另一个技术。把表或分区划分成bucket有两个理由:1,更快,桶为表加上额外..原创 2020-12-04 23:19:56 · 95 阅读 · 0 评论 -
HBase与Hive的对比
HBase与Hive的对比1.Hive(1) 数据仓库Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以 方便使用HQL去管理查询。(2) 用于数据分析、清洗Hive适用于离线的数据分析和清洗,延迟较高。(3) 基于HDFS、MapReduceHive存储的数据依旧在DataNode上,编写的HQL语句终将是转换为MapReduce代码执行。2.HBase(1) 数据库是一种面向列存储的非关系型数据库。(2) 用于存储结构化和非结构化的数据适用于原创 2020-12-04 23:04:54 · 276 阅读 · 0 评论 -
Hive中查询当月第一天的函数trunc()
查询当月第一天例: select trunc(‘2020-12-03’,‘MM’) – ‘2020-12-01’查询当前季度第一天例: select trunc(‘2020-12-03’,‘Q’) – ‘2020-10-01’查询当年第一天例: select trunc(‘2020-12-03’,‘YEAR/Y/YYYY’) – ‘2020-12-01’...原创 2020-12-03 23:26:00 · 9434 阅读 · 3 评论 -
row_number() ,rank()和dense_rank()的区别
row_number()仅仅定义组内的 数据 进行编号 1 2 3 4 5 。。。rank()编号的时候排序字段会参与,数据相同的字段的编号也相同,总编号不变 1 2 2 4 5dense_rank()编号的时候排序字段会参与,数据相同的字段的编号也相同,总编号改变 1 2 2 3 4...原创 2020-12-03 23:10:54 · 849 阅读 · 0 评论 -
clickHouse-单机安装,集群安装详细步骤
需联网安装!1. 单机安装 1) 安装curl工具 yum install -y curl 2) 添加clickhouse的yum镜像 curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash 3) 检查镜像情况 [root@doit04 yum.repos.d]# yum list | grep clickhouse原创 2020-12-03 22:21:10 · 421 阅读 · 0 评论 -
Hive-调优
1.Fetch抓取: Fetch抓取是指,Hive中对某些情况的查询可以不必使用MapReduce计算。例如:SELECT * FROM employees;在这种情况下,Hive可以简单地读取employee对应的存储目录下的文件,然后输出查询结果到控制台,这样做可以避免使用MapReduce导致的效率低的问题。实现: 在hive-default.xml.template文件中hive.fetch.task.conversion默认是more,老版本 hive默认是min原创 2020-12-03 21:59:19 · 127 阅读 · 0 评论 -
Hive-行转列,列转行
行转列 将多行的数据合并到一列中 (把每行中的数据聚集到一个数组中)collect_set () – 去重collect_list (split(str)) 这两个都是聚合函数 将收集的多行数据聚集成一个数组集合concat (串,符,串。。。。。)拼接 参数是可变参数 拼接字符串concat_ws(符,数组/map) 参数一 拼接符 参数二 可变个数的字符串 数组数据: 慧慧 处女座 B 老娜 射手座 A 奔奔 处女座 B gangge 白羊原创 2020-12-01 23:51:15 · 379 阅读 · 0 评论 -
Hive-分桶表
分桶表分区表是将数据分文件夹管理 , 减少数据扫描的文件范围 直接从对应文件夹中读取数据分桶表 是对join 查询的优化 将数据按照指定的字段的规则分文件数据: 1001 ss1 1002 ss2 1003 ss3 1004 ss4 1005 ss5 1006 ss6 1007 ss7 1008 ss8 1009 ss9 1010 ss10 1011 ss11 1012 ss12 1013 ss13 1014 ss14 1015 s原创 2020-12-01 23:19:52 · 476 阅读 · 2 评论 -
Hive-几种常用函数
查看所有函数:show functions;查看函数详情:desc function 函数名;1.array(ele1 , ele2…) --创建数组 数组是hive中的一种集合数据类型 和 java中的数组一样select array(1,2,3,4) ;select array(1,2,3,4)[index] ;查出指定索引的数据2. array_contains(arr , element) ;查看数组中是否包含值select array_contains(array(‘a’,‘ab’原创 2020-12-01 23:07:02 · 998 阅读 · 0 评论 -
Hive-排序
排序在执行SQL的时候默认是一个reduceteskset mapreduce.job.reduces=n; – 配置reduce的个数set mapreduce.job.reduces; – 查看配置结果order by 全局最终结果排序distribute by 指定分区字段 分区sort by --区内数据排序cluster by 当分区字段和排序字段相同 并且是升序的时候使用cluster by 替换 distribute by sort by先设置原创 2020-12-01 22:53:40 · 91 阅读 · 0 评论 -
Hive-关联查询
SQL语句逻辑执行顺序 select (4 from (1 tb_name where (2 group by (3 having (5 order by (6 limit (7关联查询joininner joinleft joinright joinfull joinunionunion allleft semi join数据1:1,a2,b3,c建表create table t原创 2020-12-01 22:40:10 · 992 阅读 · 0 评论 -
Hive-窗口函数入门
给出数据:姓名,日期,花费jack,2020-01-01,10tony,2020-01-02,15jack,2020-02-03,23tony,2020-01-04,29jack,2020-01-05,46jack,2020-04-06,42tony,2020-01-07,50jack,2020-01-08,55mart,2020-04-08,62mart,2020-04-09,68neil,2020-05-10,12mart,2020-04-11,75neil,2020-06-1原创 2020-12-01 22:20:38 · 85 阅读 · 0 评论 -
Hive-静态分区和动态分区
分区表(动,静) :分区表是将表的数据以查询维度为依据分文件夹管理 , 当根据这个维度查询的时候就可以减少数据的检索范围比如有一个log表 所有的日志数据在log表目录下 ,假如想查20201130日的数据 , 只能遍历所有的数据。有了分区表以后 数据就可以以日期为维度 为文件夹存储对应日期的数据 假如想查20201130日的数据直接从对应的20201130文件夹下读取数据静态分区:文件中存储的是指定规则的数据,比如 a.log中存储的全是20201130的数据直接创建一个分区叫202011原创 2020-11-30 22:38:19 · 222 阅读 · 0 评论 -
Hive-数据导出的几种方式
1.export:export tb_name to HDFS_PATH 与import相对应;2.dfs-get:如果数据是普通的文本数据 在shell客户端使用get下载数据hive> dfs -get /文件路径 /输出路径3.hive -e hive -f 重点掌握①在不开启Hive终端的情况下,使用命令直接执行SQL语句 ,结果追加到一个文件中存于当前目录下[root@linux01 ~]# hive -e “use default ; sel原创 2020-11-30 21:44:38 · 779 阅读 · 0 评论 -
Hive-数据导入的几种方式
几种基本的导入数据方式:1 建表的时候指定location 结构化数据的位置文件夹 外部表例:①新建user1.txt 文件 将该文件上传到HDFS 的/data/test/目录下②建表create external table tb_user2(id int,name string)row format delimited fields terminated by ‘\t’location ‘/data/test/’;③此时创建外部表时直接指定数据的位置,查看表时数据直接就在表中原创 2020-11-30 20:34:48 · 501 阅读 · 0 评论 -
Hive中的 内部表 和 外部表
1 在hive中的表分两种external 外部表通常存公共/原始数据 使用外部表内部表 建表默认的为内部表 也叫管理表 managertable通常存业务有关的业务报表使用管理表(内部表)内部表:1.创建:create table tb_in(id int ,name string)row format delimited fields terminated by “,”location ‘/data/log/’ ; – 管理表2.当删除此表后:drop tab原创 2020-11-28 22:51:58 · 335 阅读 · 0 评论 -
Hive的数据类型 和建表模型
数据类型 为常用TINYINT 1byte有符号整数 20SMALLINT 2byte有符号整数 20INT ** 有符号整数 20BIGINT 8byte有符号整数 20BOOLEAN 布尔类型,true或者false TRUE FALSEFLOAT 单精度浮点数 3.14159DOUBLE ** 双精度浮点数 3.14159STRING ** 字符系列。可以指定字符集。可以使用单引号或者双引号。 ‘now is the time’ “for all good原创 2020-11-28 22:24:08 · 690 阅读 · 0 评论 -
hive的几种连接方式
1 在linux本地执行 hive 命令本地模式进入到hive的客户终端2 通过远程连接方式:需要开启hiveserver2服务 10000端口命令:hiveserver2 & ,后台开启服务(配置了环境变量,在哪执行都行)进入beeline 窗口 :beeline(配置了环境变量,在哪执行都行)首先输入命令:!connect jdbc:hive2://linux01:10000然后输入用户名:root输入密码,没设置密码,直接回车进入进入此处:0: jdbc:hive2:原创 2020-11-28 22:16:34 · 1577 阅读 · 0 评论 -
Hive入门操作-通过Hive中SQL读取hdfs中数据
第一步:创建文件夹写结构化数据。然后上传到hdfs第二步:根据结构化数据在HIVE中创建对应的表create table tb_log(id int,name string,age int ,gender string)//指定数据以什么分割row format delimited fields terminated by ‘,’//指定存在hdfs中数据的位置location ‘hdfs://linux01:8020/data/log/’;//在hive中用SQL语言操作数据求各性原创 2020-11-28 21:27:02 · 2352 阅读 · 0 评论