- 博客(14)
- 收藏
- 关注
原创 数据仓库中数据质量保证的常用方法
一、比较行数是否一致一般我们会比较ETL操作之后行数是否一致的情况,如果出现不一致要进行明细的比较,看缺失的数据的原因select count(1) from table a二、判断是否主键重复主键重复是很常见的数据质量问题select count(1),count(distinct id) from table a三、判断某个字段的个数是否一致这种情况一般是判断一些权重比较高的...
2020-01-01 16:56:42 1671
原创 Spark集群的启动流程
创建Master对象,启动一个Master进程。然后,执行preStart生命周期方法,开启一个定时器定期检测超时的worker节点;如果发现超时的Worker节点,则将其移除。执行receive方法,接受其他Actor发送过来的请求解析slaves配置文件,获取到用于启动Worker的节点,启动Worker节点Worker向Master进行注册Master收到注册信息后,把注册信息保存...
2019-07-18 15:23:43 363
原创 OLTP和OLAP的介绍和区别
OLTP与OLAP的介绍数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)联机分析处理OLAP(On-Line Analytical Processing)OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查...
2019-07-17 17:58:44 338
原创 Kafka的学习笔记
1、Kafka是什么在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算。KAFKA + STORM +REDIS1.Apache Kafka是一个开源消息系统,由Scala写成。是由Apache软件基金会开发的一个开源消息系统项目。2.Kafka最初是由LinkedIn开发,并于2011年初开源。2012年10月从Apache Incubator毕业。该项...
2019-07-16 21:30:34 213 3
原创 kafka.zookeeper.ZooKeeperClientTimeoutException: Timed out waiting for connection ......问题的一种解决情况
出现这种问题,在其他错误都没有的情况下,可能就是版本问题,zookeeper的版本和kafka的libs目录下的zookeeper的jar包版本不一致导致的,更换zookeeper使其版本与kafka的libs是目录下的zookeeper的jar包版本一直,如图版本是3.4.14版本一致,运行成功...
2019-07-15 20:34:02 23186 8
原创 RDD的依赖关系(宽依赖和窄依赖)(学习笔记)
RDD和它依赖的父RDD(s)的关系有两种不同的类型,即窄依赖(narrow dependency)和宽依赖(wide dependency)。窄依赖窄依赖指的是每一个父RDD的Partition最多被子RDD的一个Partition使用,例如map、filter、union等操作会产生窄依赖。总结:窄依赖我们形象的比喻为独生子女宽依赖宽依赖指的是多个子RDD的Partition会依赖同...
2019-07-13 19:58:35 1581
原创 SparkSession的三种创建方式
/** * 创建SparkSession方式1 */ val sparkSession1 = SparkSession.builder() .appName("SparkSQLDemo") .master("local") .getOrCreate()/** * 创建SparkSession方式2 */ val conf = new SparkCo...
2019-07-12 19:06:54 13393 1
原创 Spark实现wordCount(Scala版本)
废话不多说直接上代码/** * 初始化 */ val conf = new SparkConf().setAppName("wordCount").setMaster("local[2]") val sc = new SparkContext(conf) val list = sc.makeRDD(List("Lisa Jennie Rosé Ji...
2019-07-10 21:53:10 468
原创 Scala实现wordCount
废话不多说直接上代码val list = List("rose is beautiful","jennie is beautiful","lisa is beautiful","jisoo is beautiful") /** * 第一步,将list中的元素按照分隔符这里是空格拆分,然后展开 * 先map(_.split(" "))将每一个元素按照空格拆分 ...
2019-07-10 19:13:34 9554 1
原创 hive的元数据表结构在在mysql中不存在的一种解决方案(MetaException)
hive版本是2.4.5数据库是 mysql5.6执行schematool --dbType mysql --initSchema就会解决上面的问题执行结果如上图mysql生成的表
2019-07-10 14:20:47 1746 3
原创 Spark之RDD的mapPartitions算子
mapPartitions作用是通过向这个RDD的每个分区应用一个函数来返回一个新的RDD。源码:f: Iterator[T] => Iterator[U]应用场景:当数据量不太大的时候,可以用mapPartitions,可以提高运行效率当数据量太大的时候,有可能会发生oom举例说明:1.初始化RDD,我们以2个分区的简单RDD如图所示为例2.我们假设需求是将RDD中的元...
2019-07-04 10:32:35 5212
原创 Spark之RDD的glom算子
glom的作用是将同一个分区里的元素合并到一个array里glom属于Transformation算子:这种变换并不触发提交作业,完成作业中间过程处理。Transformation 操作是延迟计算的,也就是说从一个RDD 转换生成另一个 RDD 的转换操作不是马上执行,需要等到有 Action 操作的时候才会真正触发运算。
2019-07-03 21:27:52 5556 1
原创 Spark之RDD简介
RDDorg.apache.spark.rddClass RDD<T>Objectorg.apache.spark.rdd.RDD<T>All Implemented Interfaces:java.io.Serializable, LoggingDirect Known Subclasses:BaseRRDD, CoGroupedRDD, EdgeRDD,...
2019-07-01 20:29:30 266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人