
大数据专栏。
文章平均质量分 79
这里记录的是我学习到的有关大数据的知识。
啊帅和和。
大数据小白,逐渐进阶。
展开
-
阿里云出错问题记录:ODPS-0121145:value out of range
我在遇到这个问题的思路首先是查看了今天的表字段和之前的表字段有哪些不一样的地方,发现不一样的地方在于那三个被源头单位修改了类型的表字段;问题出现的原因是因为数据源头单位替换了现有的表,将其中的一些表字段做了更改,有三个字段将datetime类型转换成了timestamp类型;在看了数据处理过程之后,发现timestamp类型的数据被我强制转换成了string类型,导致出错,超出了数据范围。当然也可以对该字段数据进行截取,并转换日期值,时间原因这里没做。原创 2023-03-21 17:30:44 · 1190 阅读 · 0 评论 -
数据治理要点
数据治理。原创 2022-08-15 22:54:07 · 1015 阅读 · 0 评论 -
flink实时数仓
目录电商常识实时数仓架构对所用到的表进行解析完成数据源和数据采集完成ODS层完成DIM层分析表结构使用代码导入数据并checkpoint将相同部分的代码进行封装完成DWD层完成ADS层电商常识由于这个项目是基于电商数据所完成的项目,所以这里对电商的一些常识做一个简单普及SKU和SPUSKU:一台银色、128G内存的、支持联通网络的iPhoneXSPU:iPhoneXTm_id:品牌Id苹果,包括IPHONE,耳机,mac等订单表跟订单详情表区别?订单表的订单状态会变化,订单详情表不会,因为没原创 2021-12-01 19:54:20 · 5115 阅读 · 2 评论 -
flink整合hive
目录本地集群flinksql客户端介绍写入到print表写入到MySQL表问题整合三种存储位置将元数据放到hive,整合hive本地集群flinksql客户端介绍这里和sparksql、hivesql一样,都可以创建表,执行sql语句,这里尝试创建一张关联了Kafka的表,从官网直接拿模板可以看到这边正在运行,并且已经出来了数据由于这是一个动态表,在原表直接修改数据,这里经过了SQL变换的数据也会发生相应的改变写入到print表CREATE TABLE print_table (原创 2021-11-29 23:01:21 · 3616 阅读 · 2 评论 -
Flink sql入门篇-概念、初步实现
目录Flinksql入门前的概念物化视图动态表和连续查询在流上定义表连续查询更新和追加查询查询限制表到流的转换初步实现Flinksql导入依赖实现Flinksql进一步实现Flinksql,全程sqlFlinksql入门前的概念想要搞清楚flink如何使用sql进行处理,我们首先要搞清楚动态表的概念,我们可以先进入flink官网查看,hive中的表是静态的,而这里处理的数据是流式,处理的表是动态的物化视图尽管存在这些差异,但是使用关系查询和 SQL 处理流并不是不可能的。高级关系数据库系统原创 2021-11-28 16:30:34 · 6709 阅读 · 0 评论 -
Xshell快速命令集解放生产力
Xshell中可以设置快速命令集来解放生产力设置:进入之后,点击编辑、添加再进入“查看”中加入快速命令感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。原创 2021-11-26 19:50:37 · 310 阅读 · 0 评论 -
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 · 1230 阅读 · 0 评论 -
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 · 1305 阅读 · 0 评论 -
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 · 1207 阅读 · 0 评论 -
Kafka入门篇-概念
目录什么是kafka消息队列的应用场景kafka架构kafka消息存储和生产消费模型kafka存储模型topickafka消费模型kafka特点什么是kafkakafka是一个高吞吐的分布式消息系统,Scala语言写的,存数据的一个工具,有顺序的消息队列,默认只会保留最近7天数据消息队列的应用场景系统之间的解耦合峰值压力缓冲(请求太多了,处理不过来,然后排队解决压力)异步通信(两边不用同时在线也可以实现通信,把发送的请求放到队列中,另一端有空闲来取)kafka架构producer原创 2021-11-25 19:46:19 · 639 阅读 · 0 评论 -
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 · 1171 阅读 · 0 评论 -
离线处理和实时处理
流处理和批处理的区别无界流和有界流离线计算和实时计算的特点感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。原创 2021-11-24 09:48:56 · 1697 阅读 · 0 评论 -
Hive数据仓库分层架构
目录一、为什么要进行数据分层?数据分层的好处?1、原因2、好处二、hive数仓分为哪几层?1、ODS层:数据运营层(贴源层)2、DW层: 数据仓库层(1)DWD层:数据明细层(2)DWM层:数据中间层(3)DWS层:数据汇总层(服务)3、ADS层:应用层一、为什么要进行数据分层?数据分层的好处?1、原因对数据进行分层的一个主要原因就是希望在管理数据的时候,能对数据有一个更加清晰的掌控。2、好处清晰数据结构:每一个数据分层都有它的作用域,这样我们在使用表的时候能更方便地定位和理解。数据血缘追踪:简原创 2021-11-23 20:17:37 · 3907 阅读 · 0 评论 -
kylin操作项目中的宽表
目录什么是宽表为什么需要用到宽表做一张宽表使用kylin操作项目中的宽表为什么要用到kylinkylin的搭建安装使用kylin开始使用kylin构建module构建cube进行预计算什么是宽表宽表顾名思义,就是有很多很多字段的一张表,那么我们为什么会用到宽表呢为什么需要用到宽表(为了减少关联,每一次关联,分组聚合都会产生shuffle,会很消耗时间,但是宽表也会有数据冗余,用空间换来时间)比如我们有一些指标需要统计,这里面每一个SQL都需要使用到分组聚合,会非常消耗时间,每一个SQL都需要关联到原创 2021-11-22 21:12:22 · 851 阅读 · 0 评论 -
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 · 1790 阅读 · 0 评论 -
spark优化
有关spark调优可以从这三个方面进行考虑代码优化参数优化数据倾斜优化感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。原创 2021-11-17 19:39:13 · 1108 阅读 · 0 评论 -
Spark Streaming的简单使用
目录理解微批处理spark core和spark sql都是做离线处理(批处理)的,一计算完就没有了,这里的spark streaming是做流处理(数据是源源不断,7*24小时的),实时计算,是一种微批处理理解微批处理spark的微批处理相当于给我们所写的代码加上一个定时任务,只要将我们的数据源换掉,不使用HDFS,数据就可以源源不断的获得,并且进行处理这里的数据源不再是HDFS(比较慢,会有延迟),而是消息队列(数据排队,先进先出),数据会被生产和消费,这里的数据不会被永久存储,一般是七天原创 2021-11-15 20:23:10 · 1214 阅读 · 0 评论 -
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 · 6581 阅读 · 0 评论 -
Spark资源调度与任务调度
名词解释Application:基于Spark的应用程序,包含了driver程序和 集群上的executorDriverProgram:运行main函数并且新建SparkContext的程序ClusterManager:在集群上获取资源的外部服务(例如 standalone,Mesos,Yarn )WorkerNode:集群中任何可以运行应用用代码的节点 (Yarn的模式下是在nodemanager中运行的,standalone模式下是在workernode中运行的)Executor:是在一个wo原创 2021-11-12 00:16:17 · 1453 阅读 · 0 评论 -
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 · 2110 阅读 · 1 评论 -
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 · 772 阅读 · 0 评论 -
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 · 511 阅读 · 0 评论 -
Spark的chche和checkpoint
目录cache->提升效率为什么要使用cachecache缓存缓存的级别cache和persist的区别缓存策略的选择unpersist释放缓存checkpoint->容错checkpoint的原理优化为了引入这两个机制,这里我们手写一个实现Pi的操作,这里我们只需要求出落在圆里的点与落在正方形里面的点的概率比值即可这里我们着重突出slices表示生成多少个任务cnt表示每一个任务内生成多少个点这里的任务数,我们每一次计算都会创建一个任务task,这就导致需要处理的文件数量非常多,这原创 2021-11-11 20:55:25 · 441 阅读 · 0 评论 -
Spark简述二
目录spark常用算子spark常用算子感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。原创 2021-11-10 22:31:13 · 994 阅读 · 0 评论 -
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 · 696 阅读 · 0 评论 -
SparkStreaming实现WordCount
这几天开始看SparkStreaming,在开始做测试的时候中间出了一些问题,对其中的过程进行记录。首先都是老一套,先添加依赖(注意pom.xml文件中的spark的版本一定要一致,不然会出现这个错误:java.lang.NoSuchMethodError: org.apache.spark.rpc.RpcEndpointRef.askWithRetry(Ljava/lang/Object;Lscala/reflect/ClassTag;即版本不一致出的错。)<dependency>原创 2021-02-15 11:14:38 · 760 阅读 · 0 评论 -
Sparkstreaming以kafka作为数据源在IDEA中进行测试。
这两天看到了sparkstreaming连接上kafka作为数据源在idea中进行测试,一路颠沛流离,特此记录。首先虚拟机上要有zookeeper和kafka(我这里只用了一台虚拟机进行测试)。安装完zookeeper和kafka之后,再对IDEA进行配置。我用的spark,Scala,streaming以及streaming-kafka都是2.11版本的。关键配置文件如下:<dependency> <groupId>org.apache.spark原创 2021-02-18 12:56:25 · 604 阅读 · 0 评论 -
在IDEA里运行spark
最近在学spark,想在本地的IDEA里配置关于spark的环境,然后在本地运行spark程序,一路上跌跌撞撞遇到很多坑,看了很多的博客,虽然也有很多搭建的过程,但我遇到了太多的问题,所以特此记录一下。文章里所提到的各类配置文件的下载网址在最后。在IDEA里运行spark所需要的前期准备事项:1.本地电脑里已经配置完成Scala2.本地电脑里已经配置完成maven3.本地电脑里已经配置完成Hadoop(这里推荐本地电脑里配置这几种版本的Hadoop:1、Hadoop-2.6.32、Hadoo原创 2020-11-03 18:45:43 · 11794 阅读 · 4 评论 -
云计算的三大类型
通过这个图可以很清晰的了解云计算的几大类型,首先第一个 “On Premises”不做太大考虑,这个需要所有的东西都自己完成,配置网络、配置虚拟机、配置环境、数据,程序都自己完成第二个简称IAAS,在这里,我们可以将服务器什么的从别处索取,比如购买阿里云的服务器,但是类似于jdk这类的环境需要自己搭建,数据需要自己导入,剩下的内容都需要自己玩第三个简称PAAS,在这里,环境也不需要自己考虑,自己只需要完成数据、程序的导入改写即可第四个简称SAAS,在这里,所有的内容都不需要自己考虑,拿来主义罢了。.原创 2021-11-01 19:13:59 · 1080 阅读 · 0 评论 -
Flume简介与使用
目录Flume简介什么是FlumeFlume的几种连接方式Flume的使用测试flume(监控一个目录,并将记录打印到控制台)监控目录下的文件到HDFSFlume官网记录:exec数据源中的command参数可以写一条任意运行的Linux中的命令Flume简介什么是Flumeflume主要做的是日志采集,是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统Flume 运行的核心是 Agent。Flume以agent为最小的独立运行单位。一个agent就是一个JVM。它是一个完整的数据收集原创 2021-10-22 21:54:46 · 370 阅读 · 0 评论 -
DataX的简单使用
目录DataX简介DataX是什么DataX可以支持哪些数据源之间的同步DataX如何使用举例mysqlTomysql举例mysqlTohdfs合并hdfs不同分区数据的一种方式举例mysqlTohbaseDataX简介DataX是什么DataX是阿里开发的一款离线的数据同步平台,实现异构数据源之间高效的数据同步功能在不使用这个工具之前,我们做数据之间的同步需要使用sqoop或者写到本地,或者写Java代码完成,做的事情是一个框架到一个框架,大概是这样的样式,其中的读取、转化、传输都需要Java代码原创 2021-10-21 22:58:13 · 1932 阅读 · 0 评论 -
HBASE的优化
目录预分区划分hbase预分区Rowkey设计rowkey长度原则rowkey散列原则rowkey唯一原则热点问题加盐哈希反转时间戳反转其他一些建议BulkLoading有关HBASE的优化应该有许多方面,但是重点应该还在这三个部分,一个是预分区,一个是Rowkey的设计原则,一个是BulkLoading直接将数据导入到HFile中;这里面的重中之重又是Rowkey的设计原则,因为HBASE查询数据之快一定和Rowkey分不开预分区默认情况下,创建HBASE表的时候会自动创建一个region分区,原创 2021-10-19 22:05:32 · 503 阅读 · 0 评论 -
sqoop的简单使用
目录import传统关系型数据到导入到HDFS注意事项传统关系型数据到导入到HIVE提升关系型数据库导入到HIVE的执行效率传统关系型数据到导入到HBASEexportsqoop是一种数据集成工具,主要负责异构数据源的互相导入,也就是可以将关系型数据库的数据(比如MySQL的数据)导入HDFS中,或者从HDFS中导入到关系型数据库中但是不能自己导入自己,也就是说,不能自己从MySQL导入到MySQL,不能从HDFS导入到HDFSimport从传统关系型数据库导入到HDFS、HIVE、HBASE原创 2021-10-19 22:05:03 · 974 阅读 · 0 评论 -
Phoenix简解
目录HBASE与HIVE的执行效率比较Phoenix搭建Phoenix使用Phoenix二级索引HBASE与HIVE的执行效率比较Hive能够把sql转换成mr任务运行,但整体运行速度比较慢,而HBase能够做到毫秒级的响应,最底层还是基于scan操作以及过滤器进行处理的,而中间,有一个PhoenixPhoenix搭建Phoenix使用Phoenix二级索引感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。...原创 2021-10-16 17:18:40 · 612 阅读 · 0 评论 -
HBASE详细概述
hbase的api操作总结下来就是一句话,就是需要对表做一些操作,就使用getAdmin()(修改表结构什么的)需要对数据做一些操作,就使用getTable()感谢阅读,我是啊帅和和,一位大数据专业大四学生,祝你快乐。...原创 2021-10-13 11:28:26 · 133 阅读 · 0 评论 -
HBASE小练习-根据时间戳求最新的三个位置
需求:拿到的数据样式:(第一列为md5号码,第二列为进出时间,第四列和第五列为人所在的经纬度)位置由经纬度确定,也就是说,拿到经纬度也就是拿到了一个人的位置输入md5号码,根据进出时间来求出最新的三个经纬度处理:1、先对数据做一个处理,将所有的空格换成逗号方便后面处理这里是将数据在shell里面做的转换cat part-00000|tr “\t” “,” > part-000012、开始写代码import com.jcraft.jsch.IO;import org.apache原创 2021-10-13 09:31:11 · 259 阅读 · 0 评论 -
Hive异步求和
Hive调优-数据倾斜优化问题抛出:比如这里有100万的数据,99万的a,1万的b,最终到reduce阶段,相同的处理能力,一个处理99万,一个处理1万,最后处理的效率肯定是不相同的,会产生数据倾斜。随机数怎么打:(也可以直接打在后面做字符串的拼接,然后再去掉)思路1,数据倾斜解决看下key的分布处理集中的key原因1)、key分布不均匀(实际上还是重复) 比如 group by 或者 distinct的时候2)、数据重复,join 笛卡尔积 数据膨胀表现任务进度长时间维持在99原创 2021-10-08 20:21:54 · 311 阅读 · 0 评论 -
Hive详细概述
目录为什么要用Hive什么是HiveHive的概念架构Hive的搭建Hive的简单实用为什么要用Hive什么是HiveHive 是建立在 Hadoop 上的数据仓库基础构架。它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。Hive 定义了简单的类 SQL 查询语言,称为 HQL ,它允许熟悉 SQL 的用户查询数据。同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和原创 2021-10-01 14:12:44 · 2333 阅读 · 0 评论 -
HA高可用与Yarn高可用的搭建
目录(HDFS)HA高可用搭建Yarn高可用搭建(HDFS)HA高可用搭建(在这之前要做完防火墙关闭、映射配完、jdk搭建完成等基础操作)免密登录master、node1分别免密登录ssh-keygen -t rsassh-copy-id -i masterssh-copy-id -i node1ssh-copy-id -i node2修改配置文件core-site.xml<?xml version="1.0" encoding="UTF-8"?><?xml原创 2021-09-24 22:39:14 · 338 阅读 · 0 评论 -
有关zookeeper的一切
目录zookeeper什么是zookeeperzookeeper可以做什么zookeeper不适合做什么zookeeper概述zookeeper的具体执行方式JavaAPI操作zookeeper(以Hadoop作为应用场景)创建永久性节点创建临时节点获取节点修改节点创建子节点使用监听者监听节点的变化zookeeper什么是zookeeperZookeeper是一个高效的分布式协调服务zookeeper可以做什么可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。可以用来存储一些配原创 2021-09-24 20:35:04 · 616 阅读 · 2 评论