- 博客(55)
- 收藏
- 关注
原创 虚拟机联网
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
452
原创 知识点总结
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
241
原创 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
174
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
717
原创 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
675
原创 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
684
2
原创 Spark 启动spark shell 命令
启动spark shell本地模式: spark-3.0.1-bin-hadoop3.2/bin/spark-shell 集群模式:启动并指定好master ,worker的内存和核数 7077为RPC通信端口号 spark-3.0.1-bin-hadoop3.2/bin/spark-shell --master spark://linux01:7077 --executor-memory 1g --total-executor-...
2020-12-22 22:38:33
1043
原创 Spark 新版本( spark-3.0.1-bin-hadoop3.2)本地部署步骤
准备工作:下载新版本(建议使用国内镜像站下载,例如清华大学镜像站等)部署安装步骤如下:1.上传压缩包并解压 ,然后进入spark-3.0.1-bin-hadoop3.2/conf/目录修改配置文件 修改 spark-env.sh.template 名 :mv spark-env.sh.template spark-env.sh 修改 slaves.template 名 :mv slaves.template slaves 2.在spark-3.0.1-bin-hadoo...
2020-12-22 22:16:50
2409
原创 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
603
原创 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
747
原创 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
3371
原创 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
6524
原创 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
1056
原创 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
2549
原创 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
819
原创 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
561
原创 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
2242
原创 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
1355
原创 clickHouse-MergeTree家族引擎
- MergeTree系列的表引擎是ClickHouse数据存储功能的核心。 - 它们提供了用于弹性和高性能数据检索的大多数功能:列存储,自定义分区,稀疏的主索引,辅助数据跳过索引等。 - 基本MergeTree表引擎可以被认为是单节点ClickHouse实例的默认表引擎,因为它在各种用例中通用且实用。 - MergeTree系列(*MergeTree)的引擎和其他引擎是最强大的ClickHouse表引擎 - MergeTree系列中的引擎旨在将大量数据插入表中。数据快速地逐个部分地写入表中,然.
2020-12-06 23:29:42
576
原创 clickHouse-日志引擎
引擎:不同的引擎决定了不同的数据存储位置和数据的特点(引擎可以简单理解为存储数据的地方)数据库引擎(集成引擎 Kafka MySQL ODBC JDBC HDFS ):使用方法,例如:建表时 engine=HDFS(hdfs://linux01:8020/数据文件存储的路径)表引擎:常用的 日志引擎,MergeTree家族引擎 等分布式引擎:...
2020-12-06 22:40:39
442
原创 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
467
原创 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
415
原创 Hive中分区 和 分桶
分区针对的是数据的存储路径(partition by 字段); 分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的分区,特别是之前所提到过的要确定合适的划分大小这个疑虑。分桶针对的是数据文件(into 字段个数 buckets)对Hive(Inceptor)表分桶可以将表中记录按分桶键(字段)的哈希值分散进多个文件中,这些小文件称为桶。分桶是将数据集分解成更容易管理的若干部分的另一个技术。把表或分区划分成bucket有两个理由:1,更快,桶为表加上额外..
2020-12-04 23:19:56
113
原创 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
294
原创 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
9574
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
865
原创 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
443
原创 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
149
原创 Hive-行转列,列转行
行转列 将多行的数据合并到一列中 (把每行中的数据聚集到一个数组中)collect_set () – 去重collect_list (split(str)) 这两个都是聚合函数 将收集的多行数据聚集成一个数组集合concat (串,符,串。。。。。)拼接 参数是可变参数 拼接字符串concat_ws(符,数组/map) 参数一 拼接符 参数二 可变个数的字符串 数组数据: 慧慧 处女座 B 老娜 射手座 A 奔奔 处女座 B gangge 白羊
2020-12-01 23:51:15
412
原创 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
517
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
1065
原创 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
106
原创 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
1016
原创 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
97
原创 Hive-静态分区和动态分区
分区表(动,静) :分区表是将表的数据以查询维度为依据分文件夹管理 , 当根据这个维度查询的时候就可以减少数据的检索范围比如有一个log表 所有的日志数据在log表目录下 ,假如想查20201130日的数据 , 只能遍历所有的数据。有了分区表以后 数据就可以以日期为维度 为文件夹存储对应日期的数据 假如想查20201130日的数据直接从对应的20201130文件夹下读取数据静态分区:文件中存储的是指定规则的数据,比如 a.log中存储的全是20201130的数据直接创建一个分区叫202011
2020-11-30 22:38:19
242
原创 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
818
原创 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
536
原创 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
365
原创 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
718
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人