自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iceberg Flink操作

数据湖iceberg flink实操

2022-05-27 12:28:31 751 1

转载 Spark的五种Join策略

JOIN操作是非常常见的数据处理操作,Spark作为一个统一的大数据处理引擎,提供了非常丰富的JOIN场景。本文分享将介绍Spark所提供的5种JOIN策略,希望对你有所帮助。本文主要包括以下内容:影响JOIN操作的因素 Spark中JOIN执行的5种策略 Spark是如何选择JOIN策略的影响JOIN操作的因素数据集的大小参与JOIN的数据集的大小会直接影响Join操作的执行效率。同样,也会影响JOIN机制的选择和JOIN的执行效率。JOIN的条件JOIN的条件会涉及字段之间的逻

2021-01-07 21:49:16 561

原创 Spark ShuffleWriter的三种方式

SortShuffleWriter1.如果没有局部聚合且分区数小于spark.shuffle.sort.bypassMergeThresheld=200 则会使用BypassMergeSorteShuffleWriter2.如果没有聚不聚和,分区数小于16777216并且Serializer支持relocation则使用UnsafeShuffleWriter3.如果有局部聚合也支持排序操作则使用SortShuffleWriter不同shuffleWrite的实现细节1.Bypas

2021-01-07 15:39:43 456

原创 Scala-AKKA基础代码实现

AKKA底层实现原理代码实现import akka.actor.{Actor, ActorSystem, Props}import com.typesafe.config.ConfigFactoryimport scala.collection.mutableimport scala.concurrent.duration._class Master extends Actor{ //将Worker信息存到map集合中 val map = new mutable..

2020-12-18 22:36:49 243 1

原创 Hbase-协处理器操作过程(二级索引)

1. 创建两个表2. 编写代码import java.io.IOException;import java.util.List;import java.util.Map.Entry;import java.util.NavigableMap;import java.util.Optional;import java.util.Set;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbas..

2020-11-29 22:10:46 177

原创 Hbase原理——写数据、读数据和布隆过滤器(算法)

写数据客户端写数据–> put a rk1001 cf1:age 21 (a表 rk1001行 列族为cf 属性是age 值为21)1.客户端写数据找zookeeper,知道要写的数据的元数据在哪个regionserver中(由于表的META(元数据)过大,存储不了这么大的数据,只能存储META的位置)2.zookeeper返回给客户端meta的位置3.客户端向存有META的regionserver下载元数据表(为什么要下载:因为meta比较大,实际存储meta的是

2020-11-26 22:06:51 265

原创 BigData项目-②数据集成

1. 生成GEOHASH字典1.1 先将全国的经纬度整理成省市区经纬度的格式CREATE TABLE area_dictASSELECT sheng.AREANAME provience, shi.AREANAME city, qu.AREANAME region, qu.BD09_LNG BD09_LNG, qu.BD09_LAT BD09_LATFROMt_md_areas quJOINt_md_areas shi ON qu.PARENTID = shi.IDJO

2021-01-13 21:50:35 309

原创 Linux上发送邮件系统

1 安装一个linux的邮件客户端yum install mailx -y2 配置邮件账号、服务器等vi /etc/mail.rcset smtp=smtp://smtp.163.com:25 # 这里填入smtp地址set smtp-auth=login # 认证方式set smtp-auth-user=coderblack@163.com # 这里输入邮箱账号set smtp-auth-password=abc12345678 ...

2021-01-13 21:44:01 285

原创 BigData项目 -①将flume完的日志文件导入到hive数仓中

1. flume日志文件1.1 上游conf文件a1.sources = r1a1.channels = c1a1.sinks = k1 k2a1.sources.r1.channels = c1a1.sources.r1.type = TAILDIRa1.sources.r1.filegroups = g1 g2a1.sources.r1.filegroups.g1 = /opt/data/logdata/app/event.*a1.sources.r1.filegroups.

2021-01-11 20:13:29 500

原创 Kafka 快速入门-安装、基本操作

Kafka是一个分布式消息缓存系统broker Kafka集群包含一个或多个服务器,这种服务器成为brokerTopic 每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic(物理上不同的topic的消息分开存储。逻辑上一个topic的消息虽然保存在一个或多个broker上但用户只需指定消息的topic即可生产或 消费数据而不必关心数据存于何处)Partition partition是物理上的一个概念,每个topic包含一个或多...

2021-01-10 15:05:25 188

原创 Flume 级联和自定义拦截器案例

1.模拟日志数据的产生for i in {1..1000000}; do echo "${i},lisi,`date +%s`000,iphone8plus,submit_order" >> a.log; sleep 0.5; done数据在不断的产出同理 在另一台虚拟机上产数据2.自定义拦截器自定义的拦截器 用于记录业务端产生时的时间戳2.1 在pom文件中添加依赖 <dependencies> <dependen

2021-01-08 21:46:32 233 1

原创 Flume 核心概念和安装部署

1.概述flume是由cloudera软件公司产出的可分布式日志收集系统,后与2009年被捐赠了apache软件基金会,为hadoop相关组件之一。尤其近几年随着flume的不断被完善以及升级版本的逐一推出,特别是flume-ng;同时flume内部的各种组件不断丰富,用户在开发的过程中使用的便利性得到很大的改善,现已成为apache top项目之一.补充:cloudera公司的主打产品是CDH(hadoop的一个企业级商业发行版)1.1什么是FlumeApache Flum...

2021-01-08 21:34:27 204

原创 Hive-自定义函数

1 创建maven工程 添加依赖 <dependencies> <!-- https://mvnrepository.com/artifact/org.apache.hive/hive-exec --> <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec&lt

2021-01-08 14:26:52 81

原创 Spark 运行模式(StandAlone Yarn)

1.StandAlone 模式1.1 Client 模式流程:Client模式Drive运行在Client上,使用Spark Shell提交任务的时候,Drive运行在Master上1.Spark Context 连接到Master,并向Master注册申请资源2.Master根据sc提出的申请,检测Worker的心跳,并找到有资源的Worker,并在Worker上启动Executor,3.启动Executor的Worker机器向SC注册4.SC将应用分配给Executor

2021-01-07 17:41:21 226 1

原创 Spark ShuffleManger

Spark Shuffle演变史Spark 0.8及以前 Hash Based ShuffleSpark 0.8.1 为Hash Based Shuffle引入File Consolidation机制Spark 0.9 引入ExternalAppendOnlyMapSpark 1.1 引入Sort Based Shuffle,但默认仍为Hash Based ShuffleSpark 1.2 默认的Shuffle方式改为Sort Based ShuffleSpark 1.4 引入Tu

2021-01-07 16:27:40 124

原创 Spark-SQL 使用SQL和DSL 统计用户上网流量 案例

需求分析:统计用户上网流量,如果两次上网的时间小于10分钟,就可以rollup到一起uid,start_time,end_time,flow1,2020-02-18 14:20:30,2020-02-18 14:46:30,201,2020-02-18 14:47:20,2020-02-18 15:20:30,301,2020-02-18 15:37:23,2020-02-18 16:05:26,401,2020-02-18 16:06:27,2020-02-18 17:20:49,50.

2021-01-06 23:54:42 261

原创 Spark-SQL 使用SQL和DSL 计算店铺的与销售额和累加到当前月的销售和

计算店铺的与销售额和累加到当前月的销售和数据:sid,dt,moneyshop1,2019-01-18,500shop1,2019-02-10,500shop1,2019-02-10,200shop1,2019-02-11,600shop1,2019-02-12,400shop1,2019-02-13,200shop1,2019-02-15,100shop1,2019-03-05,180shop1,2019-04-05,280shop1,2019-04-06,220shop2,.

2021-01-05 23:28:49 304

原创 Spark-SQL 使用SQL和DSL 用户连续登录 案例

guid01,2018-02-28guid01,2018-02-28guid01,2018-03-01guid01,2018-03-02guid01,2018-03-05guid01,2018-03-05guid01,2018-03-04guid01,2018-03-06guid01,2018-03-07guid02,2018-03-01guid02,2018-03-02guid02,2018-03-03guid02,2018-03-06guid02,2018-03-02gu..

2021-01-05 09:32:13 236

原创 Spark-SQL 读写Orc 文件

读文件 import org.apache.spark.sql.{DataFrame, SparkSession}//通过csv文件创建DataFrameobject CreateDataFrameFromOrc { def main(args: Array[String]): Unit = { //创建SparkSession(是对SparkContext的包装和增强) val spark: SparkSession = SparkSession.builder()..

2021-01-04 20:12:06 3212

原创 Spark-SQL 读写Parquet文件

读Parquet格式wenjian import org.apache.spark.sql.{DataFrame, SparkSession}object CreateDataFrameFromParquet { def main(args: Array[String]): Unit = { //创建SparkSession(是对SparkContext的包装和增强) val spark: SparkSession = SparkSession.builder() ...

2021-01-04 20:09:52 893

原创 Spark-SQL 读写jdbc

读jdbc中的信息 import java.util.Propertiesimport org.apache.spark.sql.{DataFrame, SparkSession}object CreateDataFrameFromJDBC { def main(args: Array[String]): Unit = { //创建SparkSession val spark = SparkSession.builder() .appName(this....

2021-01-04 20:00:25 758

原创 Spark-SQL 读写csv文件

name,age,fv_valuelibai,18,9999.99xuance,30,99.99diaochan,28,99.99libai,18,9999.99xuance,30,99.99diaochan,28,99.99 读csv文件 import org.apache.spark.sql.{DataFrame, SparkSession}object CreateDataFrameFromCsv { def main(args: Array[Strin..

2021-01-04 19:40:54 2301

原创 Spark-SQL 读写json文件

{"name": "libai", "age": 30, "fv": 99.99}{"name": "xiaoqiao", "age": 28, "fv": 9.99}{"name": "yasuo", "age": 18, "fv": 80.99, "gender": "male"}{"name": "banzang", "age": 18, "fv": 9999.99}{"name": "saisi", "fv": 9999.98, "gender": "female"}{"name": ..

2021-01-04 18:11:04 777

原创 Spark-sql 通过case class、class和StructType的方式创建DataFrame

1.通过case class 的方式创建DataFramelaozhao,18,9999.99laoduan,30,99.99xuance,28,99.99yeqing,25,99.0dezhi,24,99.9libai,88,50.0banzang,29,50.6import org.apache.spark.SparkContextimport org.apache.spark.rdd.RDDimport org.apache.spark.sql.{DataFrame,.

2021-01-04 17:55:33 3532 1

原创 Spark On Yarn

1.配置Hadoop①需要在/etc/profile中配置HADOOP_CONF_DIR的目录,目的是为了让Spark找到core-site.xml、hdfs-site.xml和yarn-site.xml【让spark知道NameNode、ResourceManager】,不然会包如下错误:Exception in thread "main" java.lang.Exception: When running with master 'yarn' either HADOOP_CONF_DIR or YA

2021-01-04 14:56:13 576

原创 Spark-RDD 统计用户上网流量连续上网案例

1,2020-02-18 14:20:30,2020-02-18 14:46:30,201,2020-02-18 14:47:20,2020-02-18 15:20:30,301,2020-02-18 15:37:23,2020-02-18 16:05:26,401,2020-02-18 16:06:27,2020-02-18 17:20:49,501,2020-02-18 17:21:50,2020-02-18 18:03:27,602,2020-02-18 14:18:24,2020-02-.

2021-01-04 14:41:41 293

原创 Spark-RDD 店铺销售额累加案例

shop1,2019-01-18,500shop1,2019-02-10,500shop1,2019-02-10,200shop1,2019-02-11,600shop1,2019-02-12,400shop1,2019-02-13,200shop1,2019-02-15,100shop1,2019-03-05,180shop1,2019-04-05,280shop1,2019-04-06,220shop2,2019-02-10,100shop2,2019-02-11,100sho.

2021-01-04 14:37:47 327

原创 Spark-RDD 连续登录多天案例

guid01,2018-02-28guid01,2018-02-28guid01,2018-03-01guid01,2018-03-02guid01,2018-03-05guid01,2018-03-05guid01,2018-03-04guid01,2018-03-06guid01,2018-03-07guid02,2018-03-01guid02,2018-03-02guid02,2018-03-03guid02,2018-03-06guid02,2018-03-02gu..

2021-01-04 14:36:15 223

原创 Spark-使用Scala和java编写spark的WordCount案例 在本地测试代码

1.使用sparkshell编写1.启动spark-shell[root@linux01 spark-3.0.1-bin-hadoop3.2]# ./bin/spark-shell --master spark://linux01:70772.编写shell语句scala> sc.textFile("hdfs://linux01:8020/data").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).sortBy(_._2

2020-12-21 23:19:36 486

原创 Spark-spark集群的搭建

1.架构说明(standalone模式)standalone模式是Spark自带的分布式集群模式,不依赖其他的资源调度框架2.搭建步骤下载spark安装包,下载地址:https://spark.apache.org/downloads.html http://archive.apache.org/dist/ 国内的下载网站 阿里镜像站 https://developer.aliyun.com/mirror/ 清华镜像站 https://mirro...

2020-12-21 21:21:08 140

原创 Scala-用Java语法编写Scala中的Map、Filter、reduce、flatMap函数

import java.util.Arrays;import java.util.List;public class Test { public static void main(String[] args) { AdList<Integer> adl = new AdList(); adl.add(1); adl.add(2); adl.add(3); adl.add(4); adl.

2020-12-18 20:40:09 291 2

原创 Scala-模式匹配和样例类

Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句、类型检查等。并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配1 匹配字符串import scala.util.Randomobject CaseDemo01 extends App{ val arr = Array("YoshizawaAkiho", "YuiHatano", "AoiSola") val name = arr(Random.nextInt(arr.length).

2020-12-17 16:29:06 368

原创 Scala-类、对象、继承

1.类1.1类的定义//在Scala中,类并不用声明为public。//Scala源文件中可以包含多个类,所有这些类都具有公有可见性。class Student { //用val修饰的变量是只读属性,就是java中的public修饰的final变量 //(相当与Java中用final修饰的变量) val id = 666 //用var修饰的变量就是java中的public修饰的变量 var age: Int = 20 //类私有字段,只能在类的内部使用,和伴生对象中

2020-12-17 15:44:33 128

原创 Scala-集合的基本用法

object ListDmeo { def main(args: Array[String]): Unit = { val arr = Array(1,5,8,7,3,4,2,9,10) val max = arr.max val min = arr.min val sum = arr.sum val avg = sum.toDouble / arr.length// println(avg) //从数组左边累加 /** ..

2020-12-13 22:29:26 247

原创 ClickHouse-集成引擎(MySQL、HDFS)

1 MySQLMySQL引擎用于将远程的MySQL服务器中的表映射到ClickHouse中,并允许您对表进行INSERT和SELECT查询,以方便您在ClickHouse与MySQL之间进行数据交换。MySQL数据库引擎会将对其的查询转换为MySQL语法并发送到MySQL服务器中,因此您可以执行诸如SHOW TABLES或SHOW CREATE TABLE之类的操作。1.连接MySQL2.在MySQL上创建表并导入数据create table tb_sql(id int,na.

2020-12-04 22:45:59 562

原创 ClickHouse-MergeTree家族引擎

简介MergeTree系列的表引擎是ClickHouse数据存储功能的核心。它们提供了用于弹性和高性能数据检索的大多数功能:列存储,自定义分区,稀疏的主索引,辅助数据跳过索引等。基本MergeTree表引擎可以被认为是单节点ClickHouse实例的默认表引擎,因为它在各种用例中通用且实用。对于生产用途,ReplicatedMergeTree是必经之路,因为它为常规MergeTree引擎的所有功能增加了高可用性。一个额外的好处是在数据提取时自动进行重复数据删除,因此如果插入过程中出现网络问题,

2020-12-04 22:06:02 355

原创 ClickHouse-日志引擎

1 TinyLog引擎(数据不分块)最简单的表引擎,用于将数据存储在磁盘上。每列都存储在单独的压缩文件中,写入时,数据将附加到文件末尾。该引擎没有并发控制 - 只支持并发读- 如果同时从表中读取和写入数据,则读取操作将抛出异常;- 如果同时写入多个查询中的表,则数据将被破坏。1.启动服务端service clickhouse-server start 2.启动交互式客户端clickhouse-client -m3.建库create databa...

2020-12-04 20:25:31 582

原创 Hive-功能扩展,使用反射调用java类的方法

1 编写java程序public class Test01 { public String test01(String str , int i){ return str.toLowerCase()+i*10; }}2 打包 3 上传到linux系统4 add jar /test01.jar 或者将jar包添加到 $HIVE_HOME/lib/目录下add jar /data/test01.jar;5 调用方法se...

2020-12-03 23:27:58 174

原创 Hive-集合数据类型

struct 类似于java对象 pojo类array 数组map 键值对创建集合数据类型的表songsong,bingbing_lili,xiao song:18_xiaoxiao song:19,hui long guan_beijingyangyang,caicai_susu,xiao yang:18_xiaoxiao yang:19,chao yang_beijingcreate table tb_user(name string,fri...

2020-12-03 22:56:52 123

原创 Hive-日期函数

目录1 trunc(date,*)2 date_add(start_date, num_days)3date_format(date/timestamp/string, fmt)4date_sub(start_date, num_days)5datediff(date1, date2)6day(param)7month(param)8 year(param)​9 dayofweek(param)10 dayofmonth(param...

2020-12-03 21:59:44 290

空空如也

空空如也

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

TA关注的人

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