- 博客(41)
- 收藏
- 关注
原创 Databricks lakehouse
为了解决用户不知道如何选择cluster的问题,故配置了serverless data plane, 用以解决cluster选择问题,以及减少花销。Delta sharing 是一个简单的rest协议,可以利用先进的云存储系统安全性共享访问一部分云数据集。
2024-06-09 14:55:09 348
原创 Recommender ~ Content-based filtering
plausible: 看似合理的。retrieval: 检索。catalog: 目录。ranking: 排名。
2024-04-17 00:37:24 232
原创 Unsupervised Learning ~ Anomaly detection
standard deviation: 标准差。skewed datatsets: 倾斜数据集。vibration: 振动。
2024-04-14 16:17:29 312
原创 Spark的timestamp 数据时间问题
使用Spark来处理国际业务数据,涉及到数据时区转换,在实际项目中出现时区转换问题。但在实际Cluster 去run job的时候,如果给一个eff_dt为的时间,但是往往会出现df_eff_dt为20240131的日期。
2024-02-07 16:20:30 1177
原创 Spark streaming batch运行时间过长问题02
排查Spark streaming 数据写入时间过长问题,一方面是因为程序写数据湖小文件问题。在解决了小文件问题后,还是不能达到预期的1分钟一个batch。继续排查发现,在用Spark读取Kafka数据之后,由于数据通过Kafka读取后是逗号分隔的字符串,但是为了解决字符串某些字段中还有逗号的问题,只能使用正则表达式匹配,导致性能过慢。
2024-02-05 08:00:00 464
原创 Spark streaming写入delta数据湖问题
检查发现问题出现在merge写文件时间过长,一个batch本来应该是控制在1min。但项目上线到生产环境,检查spark streaming的job,发现数据在merge写入到数据湖时,往往超过1小时。继续排查,发现是一张表往往出现几百个小文件,影响数据写性能,故每天进行小文件合并操作。
2024-02-02 08:00:00 425
原创 13 数据仓库设计
做完业务分析和需求分析之后,要保证每个需求都能找到与之对应的业务过程及维度。若现有数据无法满足需求,则需要和业务方进行沟通,例如某个页面需要新增某个行为的埋点。
2024-01-30 23:18:38 1026
原创 12 数据仓库理论
数据模型就是数据组织和存储方法,它强调从业务、数据存取和使用角度合理存储数据。只有将数据有序的组织和存储之后,数据才能高性能、低成本、高效率、高质量的使用。事实表作为数据仓库维度建模的核心,紧紧围绕着业务过程来设计。其包含与该业务过程有关的维度引用以及该业务过程的度量。事务型事实表用来记录各个业务过程,保存各业务过程原子操作事件,即最细粒度的操作事件。粒度是指事实表中一行数据所表达的业务细节程度。
2024-01-30 08:00:00 802
原创 python入门与探索
目前公司项目语言以 SQL 和 Python 为主,为了进一步学习新的语言和特性,本文将研究 python,学习 基础语法,并通过《Python编程-从入门到实践》中的数据可视化案例来进行学习。本专栏包含两部分,Python 基础和数据可视化项目。
2024-01-02 23:26:33 398
原创 2 Pandas之Series
更好的理解这些数据结构的方式是将高维数据看作是低维数据的容器。例如,DataFrame是Series的容器,Panel是DataFrame的容器。如果数据是ndarray,则传入的索引必须具有相同的长度。如果没有传入索引,则默认索引会是 range(n) ,其中 n 是数组的长度。字典 可以作为输入传递,如果没有指定索引,则按字典键的排序顺序构建索引。如果传递了 索引 ,则会提取与索引标签对应的数据值。如果数据是一个标量值,必须提供一个索引。Series中的数据可以通过类似于ndarray的方式进行访问。
2023-12-22 08:00:00 398
原创 1 pandas与NumPy比较
虽然NumPy有着以上的种种出色的特性,其本身则难以独支数据分析这座大厦,这是一方面是由于NumPy几乎仅专注于数组处理,另一方面则是数据分析牵涉到的数据特性众多,需要处理各种表格和混杂数据,远非纯粹的数组(NumPy)方便解决的,而这就是pandas发力的地方。
2023-12-21 08:00:00 917
原创 11 Flume增量表数据同步配置
Flume需要将Kafka中topic_db主题的数据传输到HDFS,故其需选用KafkaSource以及HDFSSink,Channel选用FileChannel。需要注意的是, HDFSSink需要将不同mysql业务表的数据写到不同的路径,并且路径中应当包含一层日期,用于区分每天的数据。
2023-12-19 08:30:00 954
原创 09 DataX同步数据库表配置
注:由于目标路径包含一层日期,用于对不同天的数据加以区分,故path参数并未写死,需在提交任务时通过参数动态传入,参数名称为targetdir。全量表数据由DataX从MySQL业务数据库直接同步到HDFS,具体数据流向如下图所示。以activity_info为例,测试用脚本生成的配置文件是否可用。为方便使用以及后续的任务调度,此处编写一个全量表数据同步脚本。
2023-12-18 08:30:00 1021
原创 10Maxwell 增量表首日全量同步
通常情况下,增量表需要在首日进行一次全量同步,后续每日再进行增量同步,首日全量同步可以使用Maxwell的bootstrap功能,方便起见,下面编写一个增量表首日全量同步脚本。
2023-12-17 18:58:38 564 1
原创 08 DataX 安装
DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。
2023-12-17 17:58:47 352
原创 07用户行为日志数据采集
用户行为数据由Flume从Kafka直接同步到HDFS,由于离线数仓采用Hive的分区表按天统计,所以目标路径要包含一层日期。具体数据流向如下图所示。按照规划,该Flume需将Kafka中topic_log的数据发往HDFS。并且对每天产生的用户行为日志进行区分,将不同天的数据发往HDFS不同天的路径。此处选择KafkaSource、FileChannel、HDFSSink。
2023-12-14 12:12:55 1968
原创 06 数仓平台MaxWell
Maxwell是由Zendesk公司开源,用 Java 编写的MySQL变更数据抓取软件,能实时监控 MySQL数据库的CRUD操作将变更数据以 json 格式发送给 Kafka等平台。
2023-12-05 08:00:00 937
原创 03 数仓平台 Kafka
Kafka 是一个开源的分布式事件流平台(Event Streaming Plantform),主要用于大数据实时领域。本质上是一个分布式的基于发布/订阅模式的消息队列(Message Queue)。
2023-12-03 11:22:37 1128 1
原创 02数仓平台Zookeeper
ZooKeeper是一种分布式协调服务,用于管理大型主机集。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用程序逻辑,而不必担心应用程序的分布式性质。
2023-12-02 16:18:55 1374 1
原创 04数据平台Flume
Flume主要作用,就是实时读取服务器本地磁盘数据,将数据写入到 HDFS。Flume是 Cloudera提供的高可用,高可靠性,分布式的海量日志采集、聚合和传输的系统工具。
2023-12-02 08:00:00 2611 1
原创 01数仓平台 Hadoop介绍与安装
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。包含NameNode(NN)、DataNode(DN)和Secondary NameNode(2NN)。NameNode: 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。DataNode:在本地文件系统存储文件块数据,以及块数据的校验和。secondary NameNode:周期性的对NameNode元数据备份。
2023-11-29 23:52:38 1260 1
原创 Flink如何保证数据的一致性
当在分布式系统中引入状态时,自然也引入了一致性问题。一致性实际上是"正确性级别"的另一种说法,也就是说在成功处理故障并恢复之后得到的结果,与没有发生任何故障时得到的结果相比,前者到底有多正确?举例来说,假设要对最近一小时登录的用户计数。在系统经历故障之后,计数结果是多少?如果有偏差,是有漏掉的计数还是重复计数?
2022-01-03 10:25:27 1550 1
原创 go mac project 规范
环境go 1.14.2GoLandmac出现问题同目录结构下不可导包问题hello.go 不能import demo package。原因GOPATH 默认$USER/go, 顾需要修改Goland 的默认GOPATH。testgo目需要创建bin, pkg, src三个目录...
2020-04-20 01:45:14 201
原创 go解决官方tour教程不能按照教程打开问题
开发环境:go version go1.13.3 darwin/amd64问题描述:使用指令go get golang.org/x/tour在安装好tour教程后, 教程下一步如下:运行直接报错,也不知道写的啥,就google了下。解决办法:1.cd $GOPATH/bin./tour2.cd $GOPATH//src/gol...
2019-10-23 16:44:42 618
原创 VS Code 创建maven项目
目录版本下载插件配置本地maven地址创建quick-start maven项目版本VSCode: 1.35.1Maven: 3.3.9下载插件Language support for Java ™ for Visual Studio Code Java Extension Pack Debugger for Java Java Test Runner...
2019-06-16 19:31:43 21052 3
原创 安装docker-compoes版es出错
使用docker-compose安装es,-v挂载logs和config到host目录。docker-compose.yml配置如下启动时,由于映射的logs目录组没有修改,会报错[0.001s][error][logging] Error opening log file 'logs/gc.log': Permission denied解决方法:修改/export/logs ...
2019-01-22 21:49:35 3377 1
原创 Git学习笔记
学习资源廖雪峰Git教程软件Git官网 SourceTreeGit学习笔记好用的分布式版本控制系统。初代的git由Linus开发。主要作用: 文本文件的多版本控制 多人合作开发的协调工具 教程:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b0...
2018-11-15 15:15:59 151
原创 Navicat的安装及免费使用方式
Navicat Premium和Navicat for MySQL的区别Navicat Premium是一套数据库管理工具,结合了其它Navicat成员的功能,支持单一程序同时连接到MySQL、MariaDB、SQL Server、SQLite、Oracle和PostgreSQL数据库。Navicat Premium可满足现今数据库管理系统的使用功能,包括存储过程、事件、触发器、函数、视图等。...
2018-11-15 08:52:03 8133 3
原创 2018年面试大数据面试数据结构总结
目录数据结构的定义数据结构的分类逻辑结构分类物理结构分类相关概念时间复杂度hashhash冲突Java中的数组结构线性表ArrayListLinkedList链表Java中的实现Vector栈和队列栈在Java中的应用JDK1.7中HashMap的实现哈希表HashtableHashMap树平衡二叉树的创建...
2018-11-08 16:38:29 1053
原创 滴滴面试题(2018.10.27) HBase资深工程师
第一个面试官: 介绍项目? HBase的架构? HBase的读写的整个流程? HBase的主键设计? 对Phoenix有什么优化? hive的分区表,hive的分桶表,有什么区别? zookeeper的数据结构? zookeeper如何实现的数据一致性? 如果需要你去实现zookeeper的数据一致性,你会如何去...
2018-11-01 19:45:30 425
原创 百度面试题(2018.10.29) 内容生态事业部
介绍自己的项目 项目的数据量有多大 zookeeper在follower死掉后,如何重新选举? hdfs的数据存储和读取过程? hdfs在数据存储过程中,如何保证副本的数据一致性? 当时我没想起来,于是被问道,如果是你设计,你会如何实现hdfs数据写入的一致性? 如果hdfs在所有副本都把数据都写入完了,再记录元数据信息,会不会很慢?...
2018-11-01 19:40:11 435
原创 hive的调优
目录1.hive的fetch抓取2.本地模式3.数据的倾斜3.1 所有的key相同,最后都到一个reduce中去,造成一个reduce处理大量数据。3.2 一次作业中,由于存储在hdfs上有多个小文件,造成启动多个map任务。3.2 一次作业中,由于单个map处理的一个例如127M的文件块,而表却只有2或3个字段,有着几千万行的记录。1.hive的fetch抓取在h...
2018-10-16 23:22:11 149
原创 学习使用intellij idea的使用问题总结
idea版本:2017.3.5版本tomcat版本:tomcat7的32位jdk版本:jdk1.8.0_141目录版本问题配置tomcat问题创建maven工程创建maven父工程创建service层和dao层idea删除项目idea导入eclipse项目导入方式eclipse导入idea项目idea导入eclipse项目eclipse生成的项目...
2018-08-08 18:13:59 418
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人