自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小兔子乖乖

欢迎光临

  • 博客(105)
  • 收藏
  • 关注

原创 clickhouse--时间函数相减

【代码】clickhouse--时间函数相减。

2024-05-29 10:51:40 1281

原创 spark--时间函数秒数相减

【代码】spark--时间函数秒数相减。

2024-05-22 10:00:29 582

原创 Clickhouse-- 将查询结果一列数据转成一行数据

【代码】Clickhouse-- 将查询结果一列数据转成一行数据。

2024-03-28 10:49:55 943

原创 错误: 找不到或无法加载主类

点击左上角删除,再重新创建即可。

2023-12-15 14:49:11 164

原创 clickhouse -- clickhouse解析复杂JSON数组

clickhouse解析复杂JSON数组。

2023-12-01 10:48:40 1604

原创 Hadoop -- hadoop介绍

hadoop底层是Java语言实现是Apache软件基金会的一款开源软件允许用户使用简单的编程模型实现跨机器集群对海量数据进行分布式计算处理。

2022-10-14 09:25:38 927 2

原创 Hive-sql切割字符串法(列转行)

【代码】hiveSQL切割字符串法(列转行)

2022-08-25 17:33:10 1687 1

原创 Hive--时间函数大全

hive时间函数1. current_date():获取当前格式化日期2. current_timestamp():获取当前格式化时间3. unix_timestamp():获取当前unix时间戳4. from_unixtime():把unix时间戳转化为格式化时间5. to_date(): 当前格式化时间(含时分秒)转化为年月日6. date_format(): 对日期进行格式化7. year/quarter/month/day/hour/minute/second: 年/季度/月/日/时/分/秒8. d

2022-05-24 16:13:36 11641

原创 MySQL-- 将查询结果一列数据转成一行数据 & 拼接函数

group_concatselect id from doctor limit 5;select group_concat(id,'') as id from (select id from doctor limit 5) a ;

2022-03-08 13:54:30 8697 7

转载 SPARK-SQL内置函数之时间日期类

http://www.cnblogs.com/feiyumo/p/8760846.html

2021-12-22 19:45:11 9944

原创 Spark--累加器

累加器累加器1.实现原理2.系统累加器3.自定义累加器累加器Spark 计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于处理不同的应用场景。三大数据结构分别是:RDD : 弹性分布式数据集累加器:分布式共享只写变量广播变量:分布式共享只读变量1.实现原理累加器用来把Executor 端变量信息聚合到Driver 端。在Driver 程序中定义的变量,在Executor 端的每个Task 都会得到这个变量的一份新的副本,每个 task 更新这些副本的值后, 传回Driv

2021-09-24 17:35:25 231

原创 Spark--RDD文件读取与保存

文件读取与保存Spark 的数据读取及数据保存可以从两个维度来作区分:文件格式以及文件系统。文件格式分为:text 文件、csv 文件、sequence 文件以及Object 文件文件系统分为:本地文件系统、HDFS、HBASE 以及数据库object Spark_rdd_01 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("RDD").setMaster("local[*]

2021-09-24 09:53:02 760

原创 Spark--RDD分区器

分区器object Spark_rdd_01 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("RDD").setMaster("local[*]") val sc = new SparkContext(conf) val rdd: RDD[(String, String)] = sc.makeRDD(List( ("痛仰", "再见杰克"),

2021-09-23 17:57:04 118

原创 Spark--RDD持久化

RDD持久化引言一. RDD Cache缓存二. RDD CheckPoint检查点三. 缓存和检查点区别引言要实现同一个rdd的分组聚合操作和分组操作通过以下代码会发现代码的重复率很高,性能很低如果一个RDD需要重复使用,那么需要从头再次执行来获取数据RDD对象可以重用,但是数据无法重用这时候我们就可以思考如何能够使RDD的数据也能够重用呢?object Spark_rdd_01 { def main(args: Array[String]): Unit = { val conf

2021-09-23 17:13:58 210

原创 Spark--RDD依赖关系

RDD依赖关系一. RDD血缘关系二. RDD依赖关系三. RDD窄依赖四. RDD宽依赖一. RDD血缘关系——>#mermaid-svg-1BaG3IT6EZQABSyp .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-1BaG3IT6EZQABSyp .label text{fill:#333}

2021-09-23 14:42:27 277

原创 Spark--RDD序列化

RDD序列化一.闭包检查二.序列化方法和属性一.闭包检查从计算的角度, 算子以外的代码都是在Driver 端执行, 算子里面的代码都是在 Executor 端执行。那么在 scala 的函数式编程中,就会导致算子内经常会用到算子外的数据,这样就形成了闭包的效果,如果使用的算子外的数据无法序列化,就意味着无法传值给Executor 端执行,就会发生错误,所以需要在执行任务计算前,检测闭包内的对象是否可以进行序列化,这个操作我们称之为闭包检测。Scala2.12 版本后闭包编译方式发生了改变object

2021-09-23 10:01:44 153 2

原创 Spark--wordcount的9种实现方式

object Spark_rdd_01 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("RDD").setMaster("local[*]") val sc = new SparkContext(conf) wordcount1(sc) println("-------") wordcount2(sc) println("-------")

2021-09-22 17:34:18 225

原创 Spark--RDD转换算子案例实操

统计出每一个省份每个广告被点击数量排行的Top3数据:时间戳,省份,城市,用户,广告(中间字段用空格分隔)agent.logobject Spark_rdd_01 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("RDD").setMaster("local[*]") val sc = new SparkContext(conf) //TODO 案例实操

2021-09-22 17:33:42 230

原创 Spark--RDD转换算子&行动算子

RDD算子一.RDD转换算子1)map2)mapPartitions3)mapPartitionsWithIndex一.RDD转换算子1)map将处理的数据逐条进行映射转换,这里的转换可以是类型的转换,也可以是值的转换。object Spark_rdd_01 { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("RDD").setMaster("local[*]")

2021-09-22 17:29:35 667

原创 Spark--spark核心编程(RDD的概念)

Spark 计算框架为了能够进行高并发和高吞吐的数据处理,封装了三大数据结构,用于处理不同的应用场景。三大数据结构分别是:RDD : 弹性分布式数据集累加器:分布式共享只写变量广播变量:分布式共享只读变量RDD什么是RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是 Spark 中最基本的数据处理模型。代码中是一个抽象类,它代表一个弹性的、不可变、可分区、里面的元素可并行计算的集合。弹性存储的弹性:内存与磁盘的自动切换;容错的弹性:数据

2021-09-18 16:56:41 234

原创 Spark--分布式计算模拟

客户端向服务器端发送计算任务class Task extends Serializable { val num=List(1,2,3,4) val logic:(Int)=>Int=_*2 //定义计算逻辑 def compute={ //构建计算方法 num.map(logic) }}import java.io.{InputStream, ObjectInputStream}import java.net.{ServerSocket, Socket}o

2021-09-10 14:53:11 254 2

原创 Spark--spark运行架构

原文链接:https://blog.youkuaiyun.com/qq_37283909/article/details/89928166一.运行架构Spark 框架的核心是一个计算引擎,整体来说,它采用了标准 master-slave 的结构。如下图所示,它展示了一个Spark执行时的基本结构。图形中的Driver表示master,负责管理整个集群中的作业任务调度。图形中的Executor 则是slave,负责实际执行任务。在此可以做一个比喻:Worker是工头,Cluster Manager:是项目经理,

2021-09-08 17:50:03 205

原创 Spark--spark介绍

spark介绍一.Spark概述1.spark是什么2.spark和Hadoop的区别3.MR框架和spark框架如何选择二.Spark核心模块三.Spark运行环境1.Local模式2.Standalone模式3.Yarn模式4.K8S & Mesos 模式5.Windows模式四.Spark端口号一.Spark概述1.spark是什么Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。2.spark和Hadoop的区别HadoopHadoop 是由 java 语言编

2021-09-08 15:16:18 443

原创 Spark--IDEA中用Scala编写wordcount

前提准备:pom.xml文件中<scope>provided</scope>全部替换为<scope>complie</scope>否则会报错//文件1.txtHello WorldHello Sparkhello scalahello SparkObject Spark_WordCount{ def main(args:Array[String]):Unit={ //Application //spark框架 //TODO 建立和sp

2021-09-08 09:19:30 258

原创 clickhouse--JSON解析案例

JSON解析案例[clickhouse加载文件类型](https://clickhouse.tech/docs/en/interfaces/formats/#formats) [json解析字符串函数](https://clickhouse.tech/docs/en/sql-reference/functions/json-functions/)--建表drop table if exists tb_ods_log;create table tb_ods_log(line String)en

2021-09-08 09:18:58 1565

原创 clickhouse连续销售案例

连续销售记录案列将数据导入到clickhouse表中1)name和日期排序2)name和日期相同的数据去重create table tb_shop(name String,cdate Date,money Float64)engine=ReplacingMergeTree()order by (name,cdate);a,2017-02-05,200a,2017-02-06,300a,2017-02-07,200a,2017-02-08,400a,2017-02-08,300

2021-09-08 09:18:41 169

原创 clickhouse系统函数

系统函数数组函数//empty 数组判空函数select empty(array(1,2));┌─empty(array(1, 2))─┐│ 0 │└────────────────────┘select empty(array());┌─empty(array())─┐│ 1 │└────────────────┘//length数组长度函数select length(array(1,3,4));┌─length(a

2021-09-08 09:18:21 583

原创 clickhouse连接查询

连接查询create table yg(id Int8,name String,age UInt8,bid Int8)engine=Log;insert into yg values(1,'aa',23,1),(2,'bb',24,2),(3,'cc',27,1),(4,'dd',13,3),(5,'ee',53,3),(6,'ff',33,3);select * from yg;┌─id─┬─name─┬─age─┬─bid─┐│ 1 │ aa │ 23 │

2021-09-08 09:17:47 1801

原创 clickhouse查询语法--array join

array joinarray join子句允许在数据表的内部,与数组或嵌套类型的字段进行join操作,从而将一行数组展开为多行,类似于hive中的exploded炸裂函数的功能create table tb_array_join(id Int8,hobby Array(String))engine=Log;insert into tb_array_join values(1,['eat','drink','sleep']),(2,array('study','sport','read'));

2021-09-07 09:31:28 5602

原创 clickhouse查询语法--from

fromSQL是一种面向集合的编程语言,from决定了程序从哪里读取数据1)表中查询数据2)子查询中查询数据3)表的数中查询数据 select * from numbers(3);filefile(path,format,structure) //数据文件必须在指定的目录下例如select * from file('/var/lib/clickhouse/demo.csv','CSV','id Int8,name String,age UInt8')numberselect numb

2021-09-07 09:30:00 816

原创 clickhouse查询语法--with

withclickhouse支持CTE(Common Table Expression,公共表达式),以增强查询语句的表达select pow(2,3); //pow是计算次方值函数┌─pow(2, 3)─┐│ 8 │└───────────┘select pow(pow(2,2),2);┌─pow(pow(2, 2), 2)─┐│ 16 │└───────────────────┘改用CTE的形式后,可以极大地提高语句的可读性和可

2021-09-07 09:28:45 2205

原创 clickhouse分区表操作

分区表操作只有MergeTree引擎支持数据分区,区内排序,合并,去重create table tb_partition(id UInt8,name String,birthday DateTime)engine=MergeTree()partition by toDate(birthday)order by id;insert into tb_partition values(1,'xl',now()),(2,'ly','2021-08-27 17:44:30'),(3,'xf'

2021-09-07 09:25:07 1875 6

原创 clickhouse视图

视图clickhouse拥有普通和物化两种视图物化视图拥有独立的存储普通视图只是一层简单的查询代理create table tb_insert(id UInt8,name String)engine=Memory;insert into tb_insert values(1,'cxy'),(2,'zyt'),(3,'hx'),(4,'wyy');select * from tb_insert;┌─id─┬─name─┐│ 1 │ cxy ││ 2 │ zyt ││

2021-09-07 08:46:37 648

原创 clickhouse引擎--外部存储引擎

外部存储引擎一.MySQL表引擎二.MySQL数据库引擎三.File文件引擎四.表函数-file一.MySQL表引擎create table tb_mysql(id Int16,name String,age UInt8)engine=MySQL('连接数据库的主机名:3306','库名','表名','用户名','用户密码')在MySQL中插入数据会同步到clickhouse在clickhouse中插入数据会同步到MySQL二.MySQL数据库引擎create database db

2021-09-06 17:29:46 300

原创 clickhouse引擎--内存引擎

内存引擎一.Memory二.Set三.Buffer一.MemoryMemory表引擎直接将数据保存在内存中,数据既不会被压缩也不会被格式转化,数据在内存中保存的形态与查询时看到的如出一辙,因此,当clickhouse服务重启时,Memory表内的数据会全部丢失,所以在一些场合,会将Memory作为测试表使用Memory表更为广泛的应用场景是在clickhouse的内部,它会作为集群间分发数据的存储载体来使用,列如在分布式IN查询的场合中,会利用Memory临时表保存IN子句的查询结果,并通过网络将它

2021-09-06 17:23:22 1013

原创 clickhouse引擎--AggregatingMergeTree引擎

AggregatingMergeTree引擎AggregatingMergeTree引擎从聚合表中查询数据使用物化视图同步聚合数据AggregatingMergeTree引擎AggregatingMergeTree能够在合并分区的时候,按照预先定义的条件聚合数据,同时,根据预先定义的聚合函数计算数据并通过二进制的格式存入表内,将同一分组下的多行数据聚合成一行,既减少了数据行,又降低了后续聚合查询的开销,可以说AggregatingMergeTree是SummingMergeTree的升级版,它们许多设计

2021-09-06 14:44:28 1210 2

原创 clickhouse引擎--ReplacingMergeTree引擎

ReplacingMergeTree引擎ReplacingMergeTree引擎无参数版本有参数版本ReplacingMergeTree引擎这个引擎是在MergeTree的基础上,添加了==“处理重复数据”==的功能,该引擎和MergeTree的不同之处在于它会删除具有相同(区内排序一样的重复项,数据的去重只会在合并的过程中出现。合并会在未知的时间在后台进行,所以无法预先做出计划,有一些数据可能仍未被处理,因此,ReplacingMergeTree适用于在后台清理重复的数据以节省空间,但它不保证没有重复

2021-09-06 14:23:37 461

原创 clickhouse引擎--VersionedCollapsingMergeTree引擎

VersionedCollapsingMergeTree引擎VersionedCollapsingMergeTree引擎VersionedCollapsingMergeTree引擎为了解决CollapsingMergeTree乱序写入情况下无法折叠(删除)问题,VersionedCollapsingMergeTree引擎在建表语句中新增了一列Version,用于在乱序情况下记录状态行与取消行的对应关系,主键排序相同,且Version相同,sign相反的行,在Compaction时,与Collapsing

2021-09-06 13:52:38 542

原创 clickhouse引擎--CollapsingMergeTree引擎

CollapsingMergeTree引擎CollapsingMergeTree引擎CollapsingMergeTree引擎CollapsingMergeTree是一种通过以增代删的思路,支持行级数据修改和删除的表引擎,它通过定义一个sign标记位字段,记录数据行的状态,如果sign标记为1,则表示这是一行有效数据,如果sign标记为-1,则表示这行数据需要被删除,当CollapsingMergeTree分区合并时,同一数据分区内,sign标记为1和-1的一组数据会被抵消删除。多行的排序相同的状态

2021-09-06 11:58:38 1031

原创 clickhouse引擎--SummingMergeTree引擎

SummingMergeTree引擎SummingMergeTree引擎用于求和create table sum_tree(id String,city String,sal UInt32,comm Float64,time DateTime)engine=SummingMergeTree()partition by toDate(time)primary key idorder by(id,city);insert into sum_tree values(1,'shangha

2021-09-06 11:50:32 203

空空如也

空空如也

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

TA关注的人

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