自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

啊帅和和的博客

大数据专业大四刚毕业,开发接近一年。

  • 博客(113)
  • 资源 (6)
  • 收藏
  • 关注

原创 数据治理要点

数据治理。

2022-08-15 22:54:07 538

原创 SparkStreaming-相关窗口操作

目录提前封装好的重复代码将日志信息调整为ERRORwindowcountByWindowreduceByWindowreduceByKeyAndWindow不保留数值保留数值countByValueAndWindow提前封装好的重复代码按照我的习惯,先把重复的代码做一个简单的封装,后面直接继承就可,这里的窗口长度为3,滑动频率为1package com.shujia.testimport org.apache.spark.SparkContextimport org.apache.spark.

2022-01-18 16:56:48 1716

原创 hivesql解析json格式的key与value

目录解析json格式中的key解析json格式中的valuejson格式示例:{“city_code”:“340100”,“county_code”:“340111”,“orientation”:“东”,“road_id”:35204271,“speed”:35.72}解析json格式中的key我们可以看到这个数据还是很规整的,首先先将这个json数据中的花括号:“{}”给去除,并将逗号:“,”也都给替换成冒号:“:”,双引号也给剔除,之后进行行列转换,选取需要的1、剔除双引号、花括号selec

2022-01-13 11:19:16 3101

转载 使用hiveSQL分离字符串中的字符和数字

目录0-需求1-数据分析2-总结0-需求如果数据中存在字符和数字混在一起的情况且放在一列中,此时需要将其中的数字数据和字符数据分开,分别单独成为一列,应该怎么做?如下数据:FLINK434354HADOOP67889HBASE500019KAFKA15999SQOOP13332HELLO57000SPARK13000需要将中文名称和数字单独提取出来,得到如下结果FLINK 434354HADOOP 67889HBASE 500019KAFKA 15999SQOOP 1333

2022-01-12 11:56:53 1312 2

原创 Hive小问题记录->卡在提交JOB,无map与reduce任务出现->释放资源解决

今天在运行一个hivesql的时候,整体的运行总是卡在这个阶段,没有map任务出现,也没有reduce任务出现,但是在不涉及mapreduce任务的sql都可以查询出来结果整体也只有这一个application在运行,其余的运行任务,也都通过“yarn application -kill application_id”给终结了整体的环境也没有任何问题后来通过命令发现是整体的datanode磁盘使用过多,也有很多的垃圾文件没有来得及回收,这里删除一部分hdfs的文件,就可以正常运行了。感谢阅读,

2022-01-12 11:23:00 883

原创 regexp_replace()、translate()、replace()对比

Hive中并无replace函数,只有两个类似的函数来实现字符串的替换功能目录regexp_replace()使用regexp_replace()统计字符串中字符出现的个数sql中的translate()与replace()的对比translate()replace()regexp_replace()语法:regexp_replace(string A,string B,string C)返回值:string说明:将字符串A中的符合Java正则表达式的B的部分替换为C使用regexp_repla

2022-01-11 10:41:49 898

原创 Hivesql中的explode()与posexplode()函数,夹带lateral view()

目录later viewexplode()与posexplode()later viewlateral view的语法:lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (’,’ columnAlias)fromClause: FROM baseTable (lateralView)描述:lateral view用于和split、explode等UDTF一起使用的,能将一行数据拆分成多行数据,在此基础上可以对

2022-01-10 17:58:39 1220

原创 flink实时数仓

目录电商常识实时数仓架构对所用到的表进行解析完成数据源和数据采集完成ODS层完成DIM层分析表结构使用代码导入数据并checkpoint将相同部分的代码进行封装完成DWD层完成ADS层电商常识由于这个项目是基于电商数据所完成的项目,所以这里对电商的一些常识做一个简单普及SKU和SPUSKU:一台银色、128G内存的、支持联通网络的iPhoneXSPU:iPhoneXTm_id:品牌Id苹果,包括IPHONE,耳机,mac等订单表跟订单详情表区别?订单表的订单状态会变化,订单详情表不会,因为没

2021-12-01 19:54:20 4181 3

原创 flink整合hive

目录本地集群flinksql客户端介绍写入到print表写入到MySQL表问题整合三种存储位置将元数据放到hive,整合hive本地集群flinksql客户端介绍这里和sparksql、hivesql一样,都可以创建表,执行sql语句,这里尝试创建一张关联了Kafka的表,从官网直接拿模板可以看到这边正在运行,并且已经出来了数据由于这是一个动态表,在原表直接修改数据,这里经过了SQL变换的数据也会发生相应的改变写入到print表CREATE TABLE print_table (

2021-11-29 23:01:21 2206 2

原创 Flink sql入门篇-概念、初步实现

目录Flinksql入门前的概念物化视图动态表和连续查询在流上定义表连续查询更新和追加查询查询限制表到流的转换初步实现Flinksql导入依赖实现Flinksql进一步实现Flinksql,全程sqlFlinksql入门前的概念想要搞清楚flink如何使用sql进行处理,我们首先要搞清楚动态表的概念,我们可以先进入flink官网查看,hive中的表是静态的,而这里处理的数据是流式,处理的表是动态的物化视图尽管存在这些差异,但是使用关系查询和 SQL 处理流并不是不可能的。高级关系数据库系统

2021-11-28 16:30:34 2848

原创 Xshell快速命令集解放生产力

Xshell中可以设置快速命令集来解放生产力设置:进入之后,点击编辑、添加再进入“查看”中加入快速命令感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。

2021-11-26 19:50:37 180

原创 canal

目录搭建canal测试canal监控MySQL的binlog的工具搭建canal1、开启mysql binlogcp /usr/share/mysql/my-medium.cnf /etc/my.cnf修改my.cnfvim /etc/my.cnf[mysqld]打开binloglog-bin=mysql-bin选择ROW(行)模式binlog-format=ROW配置MySQL replaction需要定义,不要和canal的slaveId重复server_id=1改了配置文件

2021-11-26 19:47:04 950

原创 Flink入门篇-使用

目录Flink组件source基于本地集合的source基于文件的 source基于网络套接字的 source自定义的 source自定义source尝试自定义MySQL数据源接入,四种不同模式继承SourceFunction继承RichSourceFunctiontransformmap传入Scala函数传入Java函数继承MapFunction继承RichMapFunction (可以做open和close)flatMap传入Scala函数传入Java函数FilterKeyByReduceAggWind

2021-11-25 22:24:41 465

原创 kafka入门篇-使用

目录搭建kafkaidea中使用flink结合kafka配置文件idea中消费生产者生产的数据消费学生信息idea中生产数据生产学生信息搭建kafka1、上传压缩包到任意节点2、解压,配置环境变量 所有节点都配置3、修改config/server.properties1、broker.id=0,每一个节点broker.id 要不一样2、zookeeper.connect=master:2181,node1:2181,node2:21813、log.dirs=/usr/local/soft/k

2021-11-25 22:21:02 524

原创 Kafka入门篇-概念

目录什么是kafka消息队列的应用场景kafka架构kafka消息存储和生产消费模型kafka存储模型topickafka消费模型kafka特点什么是kafkakafka是一个高吞吐的分布式消息系统,Scala语言写的,存数据的一个工具,有顺序的消息队列,默认只会保留最近7天数据消息队列的应用场景系统之间的解耦合峰值压力缓冲(请求太多了,处理不过来,然后排队解决压力)异步通信(两边不用同时在线也可以实现通信,把发送的请求放到队列中,另一端有空闲来取)kafka架构producer

2021-11-25 19:46:19 306

原创 Flink入门篇-概念

目录本地安装flink写代码之前的准备工作Flink简介Flink组件source基于本地集合的source基于文件的 source基于网络套接字的 source自定义的 source自定义source尝试自定义MySQL数据源接入,四种不同模式继承SourceFunction继承RichSourceFunctiontransformsink本地安装flink加载配置文件:我这里安装的是2.11版本,额外只需要加上scala和Java的编译环境即可<?xml version="1.0" enc

2021-11-24 18:18:45 812

原创 离线处理和实时处理

流处理和批处理的区别无界流和有界流离线计算和实时计算的特点感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。

2021-11-24 09:48:56 867

原创 Hive数据仓库分层架构

目录一、为什么要进行数据分层?数据分层的好处?1、原因2、好处二、hive数仓分为哪几层?1、ODS层:数据运营层(贴源层)2、DW层: 数据仓库层(1)DWD层:数据明细层(2)DWM层:数据中间层(3)DWS层:数据汇总层(服务)3、ADS层:应用层一、为什么要进行数据分层?数据分层的好处?1、原因对数据进行分层的一个主要原因就是希望在管理数据的时候,能对数据有一个更加清晰的掌控。2、好处清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。数据血缘追踪:简

2021-11-23 20:17:37 1416

原创 kylin操作项目中的宽表

目录什么是宽表为什么需要用到宽表做一张宽表使用kylin操作项目中的宽表为什么要用到kylinkylin的搭建安装使用kylin开始使用kylin构建module构建cube进行预计算什么是宽表宽表顾名思义,就是有很多很多字段的一张表,那么我们为什么会用到宽表呢为什么需要用到宽表(为了减少关联,每一次关联,分组聚合都会产生shuffle,会很消耗时间,但是宽表也会有数据冗余,用空间换来时间)比如我们有一些指标需要统计,这里面每一个SQL都需要使用到分组聚合,会非常消耗时间,每一个SQL都需要关联到

2021-11-22 21:12:22 501

原创 spark整合hive

加上依赖idea中配置有关spark整合hive的依赖,让idea在本地可以用spark的环境操作hive修改shell中的配置文件spark-sqlspark-sql --master yarn-client 不能使用yarn-cluster可以整合hive 使用hive的元数据1、在hive的hive-site.xml修改一行配置,增加了这一行配置之后,以后在使用hive之前都需要先启动元数据服务<property> <name>hive.metas

2021-11-17 21:30:31 1509

原创 spark优化

有关spark调优可以从这三个方面进行考虑代码优化参数优化数据倾斜优化感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。

2021-11-17 19:39:13 955

原创 Spark Streaming的简单使用

目录理解微批处理spark core和spark sql都是做离线处理(批处理)的,一计算完就没有了,这里的spark streaming是做流处理(数据是源源不断,7*24小时的),实时计算,是一种微批处理理解微批处理spark的微批处理相当于给我们所写的代码加上一个定时任务,只要将我们的数据源换掉,不使用HDFS,数据就可以源源不断的获得,并且进行处理这里的数据源不再是HDFS(比较慢,会有延迟),而是消息队列(数据排队,先进先出),数据会被生产和消费,这里的数据不会被永久存储,一般是七天

2021-11-15 20:23:10 893

原创 Spark sql的简单使用

目录加载依赖spark sql简单入门Spark sql简单应用应用配置读取文件读取文本文件并展示数据show()将数据完全显示读取json文件读取jdbc文件读取也锁格式的文件文件将数据以压缩格式存储parquet或者orc格式存储读取数据注册成视图并写SQL直接写sql类sql的模式写出文件到别的路径RDD和DF的相互转换RDD转换成DFDF转换成RDDDF中函数的使用wherefilterselect聚合函数的位置(agg)join直接写sql加载依赖依赖这个东西,只要注意几个依赖之间的相互关系能

2021-11-12 22:16:55 5365

原创 Spark资源调度与任务调度

名词解释Application:基于Spark的应用程序,包含了driver程序和 集群上的executorDriverProgram:运行main函数并且新建SparkContext的程序ClusterManager:在集群上获取资源的外部服务(例如 standalone,Mesos,Yarn )WorkerNode:集群中任何可以运行应用用代码的节点 (Yarn的模式下是在nodemanager中运行的,standalone模式下是在workernode中运行的)Executor:是在一个wo

2021-11-12 00:16:17 1177

原创 Spark Shuffle(包含reduce分区数决定因素)

目录shuffle为什么要有shuffleshuffle分类Shuffle WriteShuffle Readshuffle可能会面临的问题HashShuffle优化解决问题reduce分区数决定因素SortShuffleshuffle为什么要有shuffleshuffle:为了让相同的key进入同一个reduce每一个key对应的value不一定都在同一个分区中,也未必都在同一个节点上,而是极可能分布在各个节点上shuffle分类Shuffle Write发生在map端的shuffle,需要

2021-11-11 23:20:27 905

原创 Spark架构图解

目录spark架构图解举例BlockManager的作用spark架构图解举例BlockManager的作用广播变量的获取流程:1、算子内部用到了广播变量2、第一次使用的task就会去向Executor端获取3、Executor中如果没有,就会去向Driver获取(首先由ConnectionManager去跟Driver建立连接然后由BlockTransferService负责拉取数据拉取过来的数据由MemoryStore负责管理)4、后续的Executor中的task就可以直接从

2021-11-11 22:42:08 517

原创 Spark中的累加器和广播变量

目录累加器广播变量总结累加器用来修改Executor端取不到的一些值我们这里做一个计算,来计算这里foreach了多少次,按照我们传统的思维,这里我们是可以计算出结果是1000次的,也就是有1000个学生,但我们看到结果并非如此def main(args: Array[String]): Unit = { val conf: SparkConf = new SparkConf() .setMaster("local") .setAppName("Demo16Cache

2021-11-11 21:45:26 338

原创 Spark的chche和checkpoint

目录cache->提升效率为什么要使用cachecache缓存缓存的级别cache和persist的区别缓存策略的选择unpersist释放缓存checkpoint->容错checkpoint的原理优化为了引入这两个机制,这里我们手写一个实现Pi的操作,这里我们只需要求出落在圆里的点与落在正方形里面的点的概率比值即可这里我们着重突出slices表示生成多少个任务cnt表示每一个任务内生成多少个点这里的任务数,我们每一次计算都会创建一个任务task,这就导致需要处理的文件数量非常多,这

2021-11-11 20:55:25 247

原创 Spark简述二

目录spark常用算子spark常用算子感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。

2021-11-10 22:31:13 880

原创 Spark简述一

目录什么是sparkspark读取数据与MR读取数据的不同RDD五大基本特性什么是RDD如何分别宽窄依赖五大特性的一一介绍spark几种模式搭建sparklocal模式standalone模式yarn模式什么是spark官网概述:Spark是一个基于内存的开源计算框架,于2009年诞生于加州大学伯克利分校AMPLab(AMP:Algorithms,Machines,People),它最初属于伯克利大学的研究性项目,后来在2010年正式开源,并于 2013 年成为了 Apache 基金项目,到2014

2021-11-08 22:25:16 340

原创 Scala编程练习

目录预备工作1、统计班级人数2、统计学生的总分3、统计年级排名前十学生各科的分数 [学号,学生姓名,学生班级,科目名,分数]4、统计总分大于年级平均分的学生 [学号,姓名,班级,总分]5、统计每科都及格的学生 [学号,姓名,班级,科目,分数]6、统计每个班级的前三名 [学号,姓名,班级,分数]7、统计偏科最严重的前100名学生 [学号,姓名,班级,科目,分数]三张表的样式预备工作将三张表存入三个list集合中,通过样例类的方式//这里会经常用到学生表、成绩表、学科表,所以我们这里构建三个list

2021-11-07 21:46:08 814

原创 Scala简单入门2

目录循环、选择结构样例类伴生对象函数函数式编程函数的类型lambda表达式用以简化函数作为参数函数作为返回值函数柯里化偏函数循环、选择结构import java.utilobject Demo9Supply { def main(args: Array[String]): Unit = { /** * scala中的数据类型 */ //基本数据类型 val byte:Byte = 1 val short:Short = 1 val

2021-11-05 21:04:14 50

原创 Scala简单入门1

一门语言想要精通应该很不容易,但是想要简单的掌握一些用法并拿来使用,应该不难,Scala和Java有许多共性,从Java的角度出发,来进入Scala,应该手到擒来。目录配置Scala环境Scala与Java的区别和共性Scala特性区别(一些概念的区别)Java中Scala中共性区别(一些使用的区别)scala面向对象编程构造方法构造方法的重载继承样例类配置Scala环境这里我配置的是2.11.8版本的Scala1、先是配置了本地的环境变量2、在Settings->Plugins中安装了s

2021-11-04 22:14:08 101

原创 云计算的三大类型

通过这个图可以很清晰的了解云计算的几大类型,首先第一个 “On Premises”不做太大考虑,这个需要所有的东西都自己完成,配置网络、配置虚拟机、配置环境、数据,程序都自己完成第二个简称IAAS,在这里,我们可以将服务器什么的从别处索取,比如购买阿里云的服务器,但是类似于jdk这类的环境需要自己搭建,数据需要自己导入,剩下的内容都需要自己玩第三个简称PAAS,在这里,环境也不需要自己考虑,自己只需要完成数据、程序的导入改写即可第四个简称SAAS,在这里,所有的内容都不需要自己考虑,拿来主义罢了。.

2021-11-01 19:13:59 645

原创 使用python爬取海外疫情数据并绘制可视化图表

目录获取数据处理数据构图完整代码本来只想着通过api进行爬虫,爬取一些数据来试试水的,结果爬取到了疫情的数据之后,忽然又想着用可视化图表把疫情的数据给表示上去,然后就有了这篇博客,中间遇到或小或大的各类问题,都得到了一一的妥善解决。获取数据数据的获取,我是在“天行数据”官网获取了一个海外肺炎疫情数据(该网站有很多免费的api接口可以使用,注册即可用)官网给的参考代码可以直接拿来用这里面的key是你自己注册之后官网会给你的一个小密钥,修改成自己的,就可以直接拿来使用,不过我觉得这里官网给的py

2021-10-27 20:13:04 2087

原创 Flume简介与使用

目录Flume简介什么是FlumeFlume的几种连接方式Flume的使用测试flume(监控一个目录,并将记录打印到控制台)监控目录下的文件到HDFSFlume官网记录:exec数据源中的command参数可以写一条任意运行的Linux中的命令Flume简介什么是Flumeflume主要做的是日志采集,是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统Flume 运行的核心是 Agent。Flume以agent为最小的独立运行单位。一个agent就是一个JVM。它是一个完整的数据收集

2021-10-22 21:54:46 246

原创 DataX的简单使用

目录DataX简介DataX是什么DataX可以支持哪些数据源之间的同步DataX如何使用举例mysqlTomysql举例mysqlTohdfs合并hdfs不同分区数据的一种方式举例mysqlTohbaseDataX简介DataX是什么DataX是阿里开发的一款离线的数据同步平台,实现异构数据源之间高效的数据同步功能在不使用这个工具之前,我们做数据之间的同步需要使用sqoop或者写到本地,或者写Java代码完成,做的事情是一个框架到一个框架,大概是这样的样式,其中的读取、转化、传输都需要Java代码

2021-10-21 22:58:13 1011

原创 HBASE的优化

目录预分区划分hbase预分区Rowkey设计rowkey长度原则rowkey散列原则rowkey唯一原则热点问题加盐哈希反转时间戳反转其他一些建议BulkLoading有关HBASE的优化应该有许多方面,但是重点应该还在这三个部分,一个是预分区,一个是Rowkey的设计原则,一个是BulkLoading直接将数据导入到HFile中;这里面的重中之重又是Rowkey的设计原则,因为HBASE查询数据之快一定和Rowkey分不开预分区默认情况下,创建HBASE表的时候会自动创建一个region分区,

2021-10-19 22:05:32 128

原创 sqoop的简单使用

目录import传统关系型数据到导入到HDFS注意事项传统关系型数据到导入到HIVE提升关系型数据库导入到HIVE的执行效率传统关系型数据到导入到HBASEexportsqoop是一种数据集成工具,主要负责异构数据源的互相导入,也就是可以将关系型数据库的数据(比如MySQL的数据)导入HDFS中,或者从HDFS中导入到关系型数据库中但是不能自己导入自己,也就是说,不能自己从MySQL导入到MySQL,不能从HDFS导入到HDFSimport从传统关系型数据库导入到HDFS、HIVE、HBASE

2021-10-19 22:05:03 615

原创 记录如何导入和导出sql文件

目录导入sql文件navicat中直接导入mysql shell中导入linux shell中导入导出sql文件navicat导出sql文件linux shell中导入sql文件导入sql文件一份写好的sql文件,包括建表语句和执行语句navicat中直接导入导入成功mysql shell中导入将 .sql文件放入xshell目录下,直接导入linux shell中导入student为库名导出sql文件navicat导出sql文件导出成功linux shell中导

2021-10-19 19:51:13 328

hdfs-site.xml

HA高可用所需要的hdfs-site.xml

2021-09-24

mapred-site.xml

HA高可用所需要的mapred-site.xml

2021-09-24

core-site.xml

HA高可用搭建所需要的core-site.xml

2021-09-24

yarn-site.xml

配置HA高可用所需要的配置文件。

2021-09-24

HA和Yarn高可用的搭建.txt

HA和Yarn高可用的搭建.txt

2021-09-24

zookeeper JAVA API.docx

有关zookeeper的JavaAPI帮助文档。

2021-09-24

空空如也

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

TA关注的人

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