自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于DataHub元数据血缘管理实施方案

元数据按用途的不同分为两类:技术元数据( Technical Metadata)和业务元数据( Business Metadata )技术元数据是存储关于数据仓库系统技术细节的数据,用于开发和管理数据仓库使用的数据。业务元数据从业务角度描述了数据仓库中的数据,它提供了介于使用者和实际系统之间的语义层,使得不懂计算机技术的业务人员也能够看懂数据仓库中的数据。利用元数据标签不仅可以节约研发人员的时间成本,同时对公司内部的非研发人员来说,也可以更直观地理解数据、利用数据,从而提升数据的研发效率。

2023-03-21 14:32:10 3716 8

原创 数仓设计规范

数据模型设计数据模型基本原则高内聚低耦合核心模型与扩展模型分离公共初处理逻辑下沉成本与性能平衡数据可回滚数据一致性命名清晰易于理解...

2022-02-24 22:09:54 388

原创 大数据中台架构以及建设全流程二(Daas层设计)

Dass层也就是我们常说的数仓,数据集市层。数仓架构演进经典数仓架构----------------------->1990年提出的数仓概念随着数据量急速增多演变如下离线大数据架构-------------------->互联网时代数据量爆炸,且诞生了很多大数据工具随着实时需求的增加演变如下lambda架构------------------------->在原有功能上增加了实时的功能因为业务需求以及希技术栈统一演变如下kappa架构------------

2021-12-06 01:04:40 2781 1

原创 大数据中台架构以及建设全流程一(Paas层设计)

设计背景当企业发展到一定规模时候有了不同的业务线以及数据规模,因为业务的快速发展。这个时候一些数据问题就会出现。 问题点 1:数据脏乱差,各部门生产线数据重复冗余,还不可:复用用存在数据孤岛 2:数据开发部门的业务来自各部门各产品线,需求不明确,每天业务量繁复,日常工作可能成了sqlboy到处捞数据,而且在业务方面还没有业务部门了解的深入,有点缘木求鱼的意思。 这个时候数据中台也就应运...

2021-12-02 14:06:31 7611 1

原创 记一次线上报错{“exception“:“Illegal pattern component: XXX}

背景:这是一个数据清洗,多表关联处理的程序。之前一直运行良好。突然就报错如下{"exception":"Illegal pattern component: XXXorg.apache.commons.lang3.time.FastDateFormat.parsePattern(FastDateFormat.java:577) at org.apache.commons.lang3.time.FastDateFormat.init(FastDateFormat.java:444) at

2021-07-16 17:00:16 714 2

原创 An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.

最近公司上云,所有大数据环境都迁移到云上。在进行项目迁移时候发现运行报错py4j.protocol.Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.: java.lang.NullPointerException at org.apache.spark.SparkContext.<init>(SparkContext.scala:5

2021-06-25 17:36:16 7584

原创 Spark性能调优总结

1:spark为什么需要调优spark天生执行效率高,为什么还需要调优看下面个简单的例子:demo1 //实现方案1 —— 反例 val extractFields: Seq[Row] => Seq[(String, Int)] = { (rows: Seq[Row]) => { var fields = Seq[(String, Int)]() rows.map(row => { //此处不该用map用foreach更优

2021-04-13 13:43:00 668

原创 史上最全OLAP对比

目录1. 什么是OLAP2.OLAP引擎的常见操作3. OLAP分类MOLAP 的优点和缺点ROLAP 的优点和缺点4.并发能力与查询延迟对比5.执行模型对比5. OLAP引擎的主要特点5.2 Spark SQL、Flink SQL5.3Clickhouse5.4Elasticsearch5.5 Presto5.6 Impala5.7 Doris5.8 Druid5.9 Kylin综上所述:1. 什么是OLAPOLAP(O...

2021-04-13 11:05:09 4691 1

原创 java.util.List转换为Scala List

val org_relation_list: List[Int] = head.get("org_relation").asInstanceOf[java.util.List[Int]]//报错type mismatch; found : java.util.List[Int] required: scala.collection.immutable.List[Int] org_relation_list ^上述代码只需要引入隐式转换即可解决import scala.c.

2021-03-22 15:10:20 1514

原创 pymongo.errors.CursorNotFound: cursor id 1598856597812 not found原因以及解决方式

代码日常运行都没问题突然报错如下pymongo.errors.CursorNotFound: cursor id 1598856597812 not found根据异常找到报错位置如下 def initMaterialOrgAll(self): materialAndEnterpriseIdList = formmongodbUtil.findAll( "form_ins_d0fd94e7-df33-4e04-b020-24bedcf10a57"

2021-03-10 10:02:14 953

原创 py将dicm格式图片转为jpg格式

import pydicom # 用来解析dicom格式图像的像素值import numpy as npimport cv2 # 用于保存图片import os# 定义dicom to jpg转换函数def convert_from_dicom_to_jpg(img, low_window, high_window, save_path): """ :param img: dicom图像的像素值信息 :param low_window: dicom图像像素值的最低值.

2020-12-03 10:10:07 2045 1

原创 NOSQL数据库性能对比

NOSQL数据库性能对比MongoDB优点:1:MongoDB最大的特点是表结构灵活可变,字段类型可以随时修改。2:全索引支持,查询非常高效。3:面向文档(BSON)存储,数据模式简单而强大。缺点:1:多表查询、复杂事务等高级操作支持不是很友好。因此,如果数据的逻辑结构非常复杂,经常需要进行复杂的多表查询或者事务操作,那显然还是MySQL这类关系型数据库更合适。2:单个文档大小限制为16M,32位系统上,不支持大于2.5G的数据3:对内存要求比较大,至少要保证热.

2020-12-02 17:14:41 815

原创 sparkstreaming实时接收rabbitmq的数据(包含scala以及pyspark版本)

目录背景1:scala版本2:pyspark版本注意:以下都是采坑点RabbitMQ启用MQTT功能背景平常我们会实时监听kafka的数据,并且与流处理框架比如sparkstreaming和flink进行连接进行消费处理,这一套非常成熟且有官方工具包。但是目前有业务场景需要接收rabbitmq的数据,这就比较麻烦了,因为不想kafka有直接的kafkautils能创建流。在sspark1.6以前的版本有mqtt这个模块,里面有MQTTutils这个工具类是可以直接创建r.

2020-11-12 10:39:18 2200

原创 程序报错内存不足Cannot allocate memory

执行任何java程序都报错额内存不足,启动不了程序,包括jps都不行。'hadoop version' returned:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000e0000000, 175112192, 0) failed; error='Cannot allocate memory' (errno=12)# # There is insufficient memory for the

2020-10-27 15:16:51 4597

原创 数仓搭建案例

数仓架构方案背景随着公司业务深入,需要打造几个精品级产品,精品级产品不仅要满足用户统计需求,还须兼顾分析,但现状是业务数据存储多样且分散,大部分数据无法直接取用,需要管理和重组数据,而且与业务相关的标签类设置数据和部分初级汇总数据统计偏复杂,无法适应业务多样性统计需求。这个时候数据仓库就应运而生数据仓库数据仓库的目的是构建面向分析的集成化数据环境,为企业提供决策支持(Decision Support)。其实数据仓库本身并不“生产”任何数据,同时自身也不需要“消费”任何的数据,数据来源于外部,

2020-10-16 11:59:12 973 1

原创 pysprak streaming连接kafka报错 Spark Streaming‘s Kafka libraries not found in class path.

Spark Streaming's Kafka libraries not found in class path. Try one of the following. 1. Include the Kafka library and its dependencies with in the spark-submit command as $ bin/spark-submit --packages org.apache.spark:spark-streaming-kafka...

2020-09-28 17:16:22 369

原创 change stream实时监听mongodb数据增删改并写入kafka

package com.company.listener;import com.google.gson.JsonObject;import com.google.gson.JsonParser;import com.mongodb.BasicDBObject;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Aggregat.

2020-09-27 11:27:42 1893 4

原创 idea/pycharm一些快捷键 例如 try,catch

Ctrl+Home=>头部 Ctrl+End=>尾部 3.Ctrl+Alt+t,选中要被包裹的代码块,可选择很多包裹快捷键

2020-09-21 11:39:53 939

原创 scala/java es连接工具

import java.io.IOExceptionimport java.utilimport com.google.gson.{Gson, JsonParser}import com.typesafe.scalalogging.slf4j.Loggerimport org.apache.http.HttpHostimport org.apache.http.impl.nio.client.HttpAsyncClientBuilderimport org.elasticsearch.a...

2020-09-21 11:07:35 509

原创 Java Scala 通过maven混合编译 报错【找不到符号】问题解决(两种方案)

在scala和java混合使用的项目中,项目在idea运行没问题。但是通过maven打包就报错如下,怀疑是scala和java混合编译没编译成功。初始pom如下 <plugins> <plugin> <groupId>org.scala-tools</groupId> <artifactId>maven-scala-plugin&l...

2020-09-17 16:03:13 1931 1

原创 自用优雅的Mysql连接池工具

package com.yunsom.utils;import com.mchange.v2.c3p0.ComboPooledDataSource;import com.yunsom.enums.DatabaseEnum;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import scala.Tuple5;import java.sql.Connection;import java.sql.SQLException;publ.

2020-09-11 18:00:58 220

原创 git增删改查分支常用命令

git branch 查看当前分支git branch -a 查看所有分支git checkout 分支名 切换到某个分支git checkout -b 分支名 创建并切换到某个分支git push origin 分支名 表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建...

2020-09-03 14:50:38 142

原创 基于gitlab项目创建流程

1:在本地创建一个文件夹名为mat-governance-scala里面进行框架的搭建以及基础类的开发2:在本地创建.gitignore文件,内容如下,表示这些文件不上传到gittarget/project/out/### IntelliJ IDEA ###.idea*.iws*.iml*.iprsrc/test/src/main/scala/META-INF/3:新建README文件新建上就行了,和gitignore一样都在项目根目录里,markdown格式(....

2020-09-03 14:44:15 916

原创 ES报错Text fields are not optimised for operations that require per-d....

项目要展示一个报表,从es里取数据,但是报表始终出不来,发现报异常如下。{ "error" : { "root_cause" : [ { "type" : "illegal_argument_exception", "reason" : "Text fields are not optimised for operations that require per-document field data like aggregations an...

2020-08-27 21:01:43 21387 2

原创 canal的HA安装(含有安装包)以及使用过程

目录Canal原理:安装包下载:解压:mysql权限开启:修改配置文件canal.propertiesCanal原理:canal模拟mysql slave的交互协议,伪装自己为mysql slave,向mysql master发送dump协议mysql master收到dump请求,开始推送binary log给slave(也就是canal)canal解析binary log对象(原始为byte流)就可以拿到数据库的操作日志,用于实时业务日志数据同步到数仓。(大批量历史数据可

2020-07-24 15:17:06 428

原创 连接hbase时候连接不上报错Can‘t get the locations(已解决)

Exception in thread "main" org.apache.hadoop.hbase.client.RetriesExhaustedException: Can't get the locations at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.getRegionLocations(RpcRetryingCallerWithReadReplicas.java:319) at org.apache.

2020-07-22 10:43:12 8810 3

原创 idea中maven打包报错java: -source 1.5 中不支持 switch 中存在字符串

project已经设置okmodul也设置没问题在java compiler里设置也没问题程序在idea能执行一旦用maven打包就报错在pom里增加如下解决问题

2020-07-20 16:15:33 272

原创 flink的map等常用api失效(记一次许久未写flink的坑)

许久未写flink了,到了新环境导入了相应的依赖包准备跑通一下环境,但是在进行map/flatmap/filter等常规操作时发现传入函数会失败。一直没搞明白什么原因。后来才发现是导包导入错误如图所示导入的是import org.apache.flink.api.java.ExecutionEnvironment java的环境,然后重新导入了scala的包发现算子操作等是不报错了,但是会报类型异常。最后导入scala._结局了所有问题...

2020-07-09 12:50:51 516

原创 if else和switch比较谁更快

我们借助 Oracle 官方提供的 JMH(JAVA 微基准测试套件)框架来进行测试.代码如下import org.openjdk.jmh.annotations.*;import org.openjdk.jmh.runner.Runner;import org.openjdk.jmh.runner.RunnerException;import org.openjdk.jmh.runner.options.Options;import org.openjdk.jmh.runner.opti

2020-07-03 15:59:52 3414

原创 记一次nginx部署前端代码的坑

最近公司需要通过ng部署一个前端项目,于是在服务器上下咋了ng,但是安装时候又发现依赖一些环境和编译器。但是公司又是内网环境无法直接yum进行下载,只好手动现在rpm并且安装。需要的依赖如下所示点击此处下载rpm然后执行 rpm -ivh example.rpm进行安装,后续就可以进行ng的编译。编译命令如下(在编译ng前也需要同理编译pcre)cdnginx目录./configurmakemake install最后进行nginx.conf的配置监听的端口默..

2020-06-24 16:49:10 547

原创 Docker的安装以及初步使用

1.docker安装1:将用户切换到root权限 $su -root2:如果电脑没有安装yum工具的话请先安装 $ yum install -y yum-utils device-mapper-persistent-data lvm23:添加yum阿里云仓库yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo4:安装社区版Docker$ yum -y in..

2020-06-24 15:10:30 146

转载 zookeeper如何保证一致性

ZooKeeper是个集群,内部有多个server,每个server都可以连接多个client,每个client都可以修改server中的数据ZooKeeper可以保证每个server内的数据完全一致,是如何实现的呢?答:数据一致性是靠Paxos算法保证的,Paxos可以说是分布式一致性算法的鼻祖,是ZooKeeper的基础Paxos的基本思路:(深入解读zookeeper一致性原理)假设有一个社团,其中有团员、议员(决议小组成员)两个角色团员可以向议员申请提案来修改社团制度...

2020-06-24 10:49:09 994

原创 浅析动态代理

我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。 代理模式是java常用的设计模式,代理类与委托类具有同样的接口,就好像明星的经纪人一样,有什么事情不直接找到本人,需要先通过经纪人联系。代理模式结构图(图片来自《大话设计模式》):一:静态代理: 静态代理:由程序员创建或者特定工具自动生成源码,也就是编译期已经将接口,被代理类,代理类等确定下来,在程序运行之前代理类的class文件已经生成 ...

2020-06-24 10:43:04 104

空空如也

空空如也

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

TA关注的人

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