- 博客(30)
- 收藏
- 关注
原创 MySQL 5.7 XID乱码情况下XA事务回滚处理方法
用以下语句输出16进制XID:XA RECOVER CONVERT XID返回示例: 0xDE1DD62DEA2341C9845B24600B661C1A000000000000000000000000F08DDAA0然后根据gtrid_length, bqual_length, 提取相应的长度的字符,假设 formatID = 201, gtrid_length = 28, bqual_length = 4,那么commit脚本如下:XA COMMIT X'DE1DD62DEA
2022-04-18 17:06:47
874
原创 利用JanusGraph图数据库统计股票涨停板后的走势
环境信息:1. Java 82. JanusGraph 0.54 (使用Oracle Berkeley DB Java Edition作为底层存储)3. Windows 10一、股票数据源注册 Tusharehttps://tushare.pro/register?reg=332190获取数据。二、导入JanusGraph1. 启动JanusGraph打开cmd, 进入janusGraph根目录,输入bin\gremlin-server.bat conf\grem...
2021-04-13 11:34:04
543
原创 Janusgraph的OLAP开发实例
环境信息:Centos 7 Janusgraph 0.52 CDH 6.1.0(HBase 2.1.0, Spark 2.4.0) Java 8一、pom.xml配置jar包版本尽量和大数据集群环境中使用的保持一致。避免jar包冲突。<dependencies> <dependency> <groupId>org.janusgraph</groupId> <artifa
2021-03-10 10:48:33
485
原创 JanusGraph的数据模型
JanusGraph的schema主要是由edge label(边),vertex label(顶点)和property key(属性的键)组成。edge label和vertex label可以拥有多个property。edge label的property的cardinality属性只能是SINGLE。JanusGraph支持显式和隐式定义。官方建议显式定义schema,可以提供协同开发效率。edge label,vertex label,property一经定义是不能修改和删除的(但提供了修改名称
2020-09-15 15:33:44
791
原创 JanusGraph服务器模式之ConfiguredGraphFactory配置
ConfiguredGraphFactory配置模式使JanusGraph的服务器模式更为灵活,即可以在服务器运行中动态添加、修改、删除图配置。实现方式是利用中央管理方式,创建一个ConfigurationManagementGraph的图,管理所有业务的图。一、配置properties/path/to/janusgraph-{version}/conf/gremlin-server/gremlin-server-hbase-configurationgraph.properties路径和名
2020-09-10 16:55:25
445
原创 JanusGraph安装服务器模式
环境信息:Centos 7 Java 8 HBase 2.2.4 ElasticSearch 7.6.1 JanusGraph 0.5.2基于上一篇博文《JanusGraph本地安装》的配置进行修改,即可实现远程服务器模式。一、复制conf/janusgraph-hbase-es.properties到conf/gremlin-server/目录下修改名字以便识别cp conf/janusgraph-hbase-es.properties conf/gremlin-server/
2020-09-07 11:46:22
214
原创 JanusGraph本地安装
环境:Centos 7 Java 8 HBase 2.2.4 ElasticSearch 7.6.1一、下载JanusGraphhttps://github.com/JanusGraph/janusgraph/releaseswget https://github.com/JanusGraph/janusgraph/releases/download/v0.5.2/janusgraph-0.5.2.zip二、解压unzip janusgraph-0.5.2.zip三、修改
2020-09-07 10:32:48
405
原创 基于Spark MLlib的TF-IDF与余弦定理应用 - 文档相似度
网上已经有很多优秀的TF-IDF和余弦定理介绍文章,这里就不重复了。简单记录一下如何利用这些原理结合Spark MLlib计算文档相似度。第一步:从文档中提取词Spark MLlib - Tokenizer.class // 默认根据空格分割提取词/** * A tokenizer that converts the input string to lowercase and then splits it by white spaces. * * @see [[RegexTokenize
2020-08-24 13:44:42
268
原创 Flink on Yarn 出现 running beyond the ‘PHYSICAL‘ memory limit. 错误解决办法
按照网上说的,这是因为hadoop集群资源不足造成的。 并且多数情况是由于分配的虚拟内存超出限制。根据分析,Flink应用确实存在大量的缓存数据,而设置的taskmanager内存只有2G,当程序运行一段时间后就会出现以下类似错误:Diagnostics: Container [pid=6386,containerID=container_1521277661809_0006_01_000001] is running beyond virtual memory limits. Current u
2020-08-13 09:28:04
4012
原创 最新版mplfinance画股市蜡烛图
记录下用python画蜡烛图import tushare as tsimport pandas as pdimport matplotlibimport matplotlib.pyplot as pltimport mplfinance as mpfimport numpy as npfrom datetime import datetimets.set_token('your token')pro = ts.pro_api()df = pro.daily(ts_code='000
2020-08-02 23:51:22
3591
2
原创 利用Prometheus监控Flink任务
Flink支持多种metric报告方式,例如prometheus, influbDB, JMX等。本篇主要记录Prometheus+Pushgateway的方式监控Flink任务。00x准备工作1. 下载Prometheus、Pushgateway和AlertManager这三个工具都是Prometheus生态组件,下载地址:https://prometheus.io/download/01x解压与配置1. 将下载的组件解压到任意目录,如/app/prometheus/app
2020-07-29 16:58:35
4029
原创 运行Spark GraphX Pregel出现Issue communicating with driver in heartbeater异常
最近基于Spark GraphX Pregel开发了一个ETL任务,运行过程中会报Issue communicating with driver in heartbeater,然后就是Connection refused错误。经分析,Spark GraphX Pregel在每次迭代都会产生新的job, 如果迭代的次数多,会产生大量的job, driver会被阻塞造成通讯失败,任务中断。解决办法:调整driver-memory参数。spark.driver.memory 1g Amou
2020-06-23 15:44:39
3781
1
原创 使用Flink Watermark sideOutputLateData的坑
Flink Watermark是用于处理数据乱序问题,网上已经有很多优秀的文章介绍,这里就不重复了。参考:https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/event_timestamps_watermarks.html今天要说的使用Watermark过程中自己挖的坑,使用sideOutputLateData()过程中没有正常输出的问题,在此记录一下:先来看一下源码解析:/** * Send late ar
2020-06-15 19:58:13
1882
1
原创 Spark first, last函数的坑
Spark SQL的聚合函数中有first, last函数,从字面意思就是根据分组获取第一条和最后一条记录的值,实际上,只在local模式下,你可以得到满意的答案,但是在生产环境(分布式)时,这个是不能保证的。看源码的解释:/** * Returns the first value of `child` for a group of rows. If the first value of `child` * is `null`, it returns `null` (respecting null
2020-06-11 12:38:58
3619
原创 数据治理(Data Governance)
什么是数据治理?百度百科解释:数据治理(Data Governance)是组织中涉及数据使用的一整套管理行为。由企业数据治理部门发起并推行,关于如何制定和实施针对整个企业内部数据的商业应用和技术管理的一系列政策和流程。国际数据管理协会(DAMA)给出的定义:数据治理是对数据资产管理行使权力和控制的活动集合。国际数据治理研究所(DGI)给出的定义:数据治理是一个通过一系列信息相关的过程来实现决策权和职责分工的系统,这些过程按照达成共识的模型来执行,该模型描述了谁(Who)能根据什么信息,在什么
2020-05-28 11:02:21
2206
原创 初识推荐引擎
推荐引擎是数据应用的经典例子,典型的应用场景如亚马逊的商品推荐。根据推荐引擎的数据源分类可分为三种:根据系统用户的基本信息发现用户的相关程度,这种被称为基于人口统计学的推荐(Demographic-based Recommendation) 根据推荐物品或内容的元数据,发现物品或者内容的相关性,这种被称为基于内容的推荐(Content-based Recommendation) 根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相关性,这种被称为基于协同过滤的推荐(Co
2020-05-27 14:27:16
407
原创 主数据管理(Master Data Management)
一、什么是主数据?主数据是为了解决企业对数据一致性、时效性的需求应运而生。主数据是用于描述企业运营过程中最为关心的核心数据。它通常更新不频繁,它不是事务性的但用于描述事务。最为典型的主数据例如客户(Customer)、产品(Product)、地区(Locatioin)等。主数据应该是企业全量数据的一小部分,但是最复杂和最有价值的部分。如何识别主数据?准则一:主数据能与其它数据交互。例如在交易系统,主数据一般是名词,事务性数据是动词描述,举例“客户购买了产品”,在数据仓库中,主数据相当于维表,
2020-05-26 10:54:48
3720
原创 Spark GraphX Pregel 应用
一、Pregel介绍Pregel是一种基于BSP模型实现的并行图处理系统。BSP(Bulk Synchronous Parallel Computing Model,块同步并行计算模型,又称“大同步”模型)计算过程包括一系列全局超步(所谓的超步就是计算中的一次迭代),每个超步主要包括三个组件:局部计算:每个参与的处理器都有自身的计算任务。 通讯:处理器群相互交换数据。 栅栏同步(Barrier Synchronization):当一个处理器遇到“路障”(或栅栏),会等到其他所有处理器完成它们
2020-05-19 12:16:17
511
原创 数据仓库 - 树形结构的维表开发实践
一、概述根据星型模型的概念,不存在渐变维度,数据存在冗,典型例子地域维度表,如国家,省,市这种存在上下级关系的数据结构。OLTP数据结构:id pid name 1 中国 2 1 广东省 3 2 深圳 星型模型数据结构:id country province city level 1 中国 UNKNOWN UNKNOWN 0 2 中国 广东省 UNKN.
2020-05-14 19:59:48
748
1
原创 数据仓库 - 事实表开发实践(IoT场景)
一、事实表分类1. 以粒度划分(1) 事务事实表(Transaction Grain Fact Table)一条记录代表了业务系统中的一个事件。事务出现后,就会在事实中出现一条记录。以订单域举例:下单是一个事实;付款是一个事实;退款是一个事实。(2) 周期快照事实表(Periodic Snapshot Grain Fact Table)记录指定周期内一些聚集事务值或者度量状态。如:库存日快照事实表(3) 累积快照事实表(Accumulating Snapshot Grain Fact
2020-05-12 15:23:59
616
原创 数据仓库 - 拉链表开发实践
一、什么是拉链表拉链表是针对数据仓库设计中表存储数据的方式而定义的,顾名思义,所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。二、拉链表开发案例:客户数据拉链表2x01 表设计表 存储介质 T_CUSTOMER MySQL ODS_T_CUSTOMER HIVE TMP_CUSTOMER MPP DIM_CUSTOMER MPP 操作系统数据表:T_CUSTOMER字段 类型 备注 cid
2020-05-11 19:53:20
663
原创 Flink 利用KeyedProcessFunction处理数据超时没有流入问题
需求背景:当流超时没有数据流入,发出告警通知。思路:KeyedProcessFunction中有onTimer()方法,将时间注册到timerService中,在指定时间触发onTimer()方法,在onTimer()中结合State判断是否超时。class TimeoutFunction extends KeyedProcessFunction<Tuple, Event, E...
2020-04-25 12:27:07
1218
1
原创 Spark读HBASE - shc方案
shc是hortonworks出品的开源方案,基于spark的特性,分片处理,并通过谓词下推,提高处理性能。1. 引入依赖包<dependency> <groupId>com.hortonworks</groupId> <artifactId>shc-core</artifactId> <versi...
2020-04-25 11:59:24
563
原创 Flink 基于时间窗口的自定义CountTrigger
原理:结合Flink源码中的CountTrigger和EventTimeTrigger逻辑即可。package net.ben.flink.hbase.function.trigger;import org.apache.flink.api.common.functions.ReduceFunction;import org.apache.flink.api.common.state...
2020-04-25 11:56:50
1979
原创 华为FusionInsight HD spark写PostgreSQL的包冲突问题
在使用华为FusionInsight大数据产品过程中遇到一个坑,项目需求是利用spark处理数据后把结果集写入PostgreSQL,但是一直报用户名密码不正确。经定位发现,华为FI产品中有一个组件叫DBService,其中使用华为修改的org.postgresql.Driver, 而这个类在所有的FusionInsight包含的产品中都有依赖,执行用户代码时顺带加载了这个类,与jar中的开源类存在...
2020-04-25 11:49:34
438
1
原创 Flink出现Caused by: java.lang.LinkageError: loader constraint violation错误
Flink出现Caused by: java.lang.LinkageError: loader constraint violation错误原因: 类加载顺序问题,可以再flink-conf.yaml中加入classloader.resolve-order: parent-firstFlink的默认加载是child-first, 这也是jdk的默认加载顺序。...
2020-04-25 11:25:59
3375
2
原创 python 数据分析学习 - 股票数据(一)
免责声明:本人不是专业人士,纯粹个人爱好,如有错误欢迎指正。一、数据采集本文分析的对象是股票数据,数据采集渠道和方式很多,可以自己写爬虫,也可以用开源的工具。这里我们使用开源工具tushare,https://tushare.pro/register?reg=332190。step 1. 安装tusharepip install tushare -i https://pypi....
2019-12-31 10:29:16
698
原创 [读书笔记] KafkaConsumer工作原理
Kafka消费者不是线程安全的。Kafka消费者通过订阅主题(Topic)拉取消息。每个消费者对应一个消费组,消息发布到主题后,只会投递给订阅它的每个消费组中的一个消费者。一个主题有多个分区(parition),每一个分区只能被一个消费组中的一个消费者所有消费。Kafka默认的分区分配策略会根据消费组中消费者的数量动态分配分区,提供横向伸缩性。消费组内的消费者数量应该小于或等于订阅主题的分...
2019-05-01 18:02:39
332
原创 [读书笔记] KafkaProducer 工作原理/流程
KafkaProducer是线程安全的。一个Producer可以给多个线程共用或利用池化技术供线程调用。Producer发送消息本身是异步操作,有三种模式:fire-and-forget(发后即忘),性能高但不可靠 sync(同步),性能低但可靠 async(异步),利用回调函数了解消息发送结果发送的消息是ProducerRecord对象, 有多个构造方法,topic和value是必...
2019-04-27 19:49:01
377
原创 HBase源码分析之写入流程(一)- 客户端
注:本博客的HBase源码基于1.0.2发布版本。HBase的写分两部分,第一部分是客户端写,二是服务端的写。先看看客户端写流程:(一)客户端先检验用户提交的Put请求的KeyValue长度是否超出配置最大长度,然后计算KeyValue的heapSize并将KeyValue放入本地的writeAsyncBuffer中。这个步骤由BufferedMutatorImpl类实现。(二)当buffer符合...
2018-06-30 16:40:43
2042
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人