大数据开发
文章平均质量分 64
清平乐的技术博客
学如逆水行舟,不进则退。
展开
-
Presto时间函数
最近项目中用到了Presto,负责后台的搭建和接口开发,Presto部分语法和常用SQL有些区别,特为大家整理如下,避免踩坑。原创 2023-05-17 15:15:01 · 1126 阅读 · 0 评论 -
一文读懂【数据埋点】
埋点的技术实质,是先监听软件应用运行过程中的事件,当需要关注的事件发生时进行判断和捕获,然后获取必要的上下文信息,最后将信息整理后发送至服务器端。所监听的事件,通常由操作系统、浏览器、APP框架等平台提供,也可以在基础事件之上进行触发条件的自定义(如点击某一个特定按钮)。一般情况下,埋点可以通过监测分析工具提供的SDK来进行编程实现。埋点的业务意义显而易见,即帮助定义和获取分析人员真正需要的业务数据及其附带信息。在不同场景下,业务人员关注的信息和角度可能不同。原创 2023-02-27 15:41:40 · 500 阅读 · 0 评论 -
【数仓设计】企业数仓为什么要进行分层?(六大好处)
后来随着公司业务的发展,数据的沉淀,数据仓库发展到一定阶段,发现数据的使用杂乱无章,各种业务都是从原始数据直接计算而得。当然你公司数据规模小,非不分层可不可以,当然可以。而且便于维护数据的准确性,当数据出现问题之后,可以不用修复所有的数据,只需要从有问题的步骤开始修复。简单来讲可以这样理解,我们最终给业务诚信的是一能直接使用的张业务表,但是它的来源有很多,如果有一张来源表出问题了,我们希望能够快速准确地定位到问题,并清楚它的危害范围。规范数据分层,开发一些通用的中间层数据,能够减少极大的重复计算。...原创 2022-08-09 09:15:28 · 1460 阅读 · 0 评论 -
前端开发icon高清图标搜索、下载网站
不管你是前端开发者,还是工作白领,亦或是在校大学生,在日常工作或者学习过程中都可能需要使用图标(icon)。今天分享 3 个最常用、最方便的矢量图标下载网站,提供高清、大量的矢量图标。1.Iconfont——阿里巴巴矢量图库Iconfont 是阿里巴巴 倾力打造的矢量图标管理、交流平台。设计师将图标上传到Iconfont平台,用户可以自定义下载多种格式的icon,平台也可将图标转换为字体,便于前端工程师自由调整与调用。访问地址:https://www.iconfont.cn/2.Iconfinde原创 2022-05-25 10:09:35 · 955 阅读 · 0 评论 -
程序员必须了解的10大技术搜索引擎
作为一个IT技术开发者,我们经常会有查询资料、进行技术交流的需要,现在也有很多这样的平台,比如我们现在用的为几亿人服务的CSDN平台,除此之外还有很多其他平台,现在给大家介绍一下我收藏和经常使用的平台吧(排序不分先后,仅供参考)。1.CSDN我们的主场,大家都懂得。2.博客园博客园也是出现次数比较多的站了,它没有多余的广告,也没有过多的修饰,除了部分博主添加的动漫组件和背景音乐,给我们的印象就是简约,不信你可以点开链接博客园 - 开发者的网上家园看看,是不是如我所说:3.GitHubgithu原创 2022-05-18 10:28:36 · 6559 阅读 · 0 评论 -
Presto客户端命令
1.连接命令./presto-cli --server IP:8285 --catalog XX.properties–server 是presto服务地址;–catalog 是默认使用哪个数据源,后面也可以切换,如果想连接mysql数据源,使用mysql数据源名称即可;2.常用命令-- 查看数据源(catalog)show catalogs;-- 查看schemasshow schemas from 'catalog_name';-- 查看tablesshow tables原创 2022-05-17 19:50:48 · 1198 阅读 · 0 评论 -
GitHub快速搜索想要的资料
对于编程学习者来说Github是一个宝藏,里面有大量优质资料和开源项目供我们学习,今天分享一篇有关 Github 搜索技巧的文章给大家,希望能够对你们有所帮助!一、开源项目的组成部分我们先来了解一下一个开源项目有哪些组成部分:name: 项目名description: 项目的简要描述项目的源码README.md: 项目的详细情况的介绍那么除了这些要素之外,项目本身的star数和fork数,也是评判一个开源项目是否火热的标准,这同时也是一个很重要的搜索标准。另外我们也要注意观察这个项目的最近更新原创 2022-05-16 13:55:37 · 644 阅读 · 0 评论 -
REST API设计规范
这里整理的REST API的设计规范,注意和后端开发的API接口文档做一下区分,不是一个概念。API是REST API的超集,REST API 是API的子集;所有的REST API都是API,但不是所有的API都是REST API一、公共要求API通常使用HTTPs协议,确保交互数据的传输安全,域名尽量将api部署在专用域名下https://api.example.com,具体公共要求如下1.在URI中使用小写字母,不要采用驼峰命名。方便时,在URI路径中应始终首选小写字母。http://api原创 2020-07-24 17:06:30 · 1744 阅读 · 0 评论 -
大数据工程师告诉你什么是Maven
Maven在大数据开发中可谓是一个略微复杂的构成,从基础概念到它的具体用途都可谓是有满满的干货知识。简而言之,Maven 一句话概括就是一个项目管理工具,可以对 Java 项目进行构建、依赖管理,是一个自动化构建工具。一、什么是Maven?如今我们构建一个项目需要用到很多第三方的类库,如写一个使用Spring的Web项目就需要引入大量的jar包。一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系错综复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。原创 2022-04-26 13:30:39 · 209 阅读 · 0 评论 -
YARN常用命令
# 查看运行yarn application -list# 查看日志yarn logs -applicationId ***注意:在yarn-site.xml配置文件里查看log的位置,也可以直接在浏览器上看log详情# kill掉yarn application -kill 任务名#列出所有节点 yarn node -list -all其他参考资料:《YARN资源管理UI界面详解》**【认为此文好的欢迎关注博主,动动小手点点赞,感谢 ^ _ ^】**...原创 2022-04-24 11:28:34 · 284 阅读 · 0 评论 -
YARN资源管理UI界面详解
Hadoop安装完Yarn后,可以在浏览器中通过http://master:8088来访问Yarn的WEB UI,HDP支持Ambari控制台访问。如下图:一、集群指标区域包含如下内容:Apps Submitted:提交的任务数目Apps Pending:挂起的任务数目Apps Running:运行的任务数目Apps Completed:完成的任务数目Containers Running:正在运行的container数目Memory/VCores used:使用了整体集群的内存/虚拟核原创 2022-04-24 11:21:49 · 3196 阅读 · 2 评论 -
Sqoop常见报错及解决方式
1.java.lang.RuntimeException: Could not load db driver class: com.mysql.jdbc.Driver原因:[SQOOP_HOME]/lib/下缺少mysql驱动包2.Caused by: java.lang.RuntimeException: Can’t parse input data: '800 1 620025 塑料油箱 ';java.io.IOException: Can’t export data, please check原创 2021-07-07 15:46:31 · 5787 阅读 · 2 评论 -
浅谈金融体系数据治理
这几年随着全球数据应用的热潮,数据治理的话题也在最近被越来越多地提及和讨论。过去的十年,银行的IT系统经历了数据量高速膨胀的时期,这些海量的、分散在不同角落的异构数据导致了数据资源的价值低、应用难度大等问题。同时,银行内部的业务条线或行政分化也在不断地制造着银行数据交互的断层,而银行与外部业务交互所产生的“体外循环”数据与企业的核心数据体系并不能自然地融合,这个时候数据治理体系建设可能不是银行的一个选择,而是唯一的出路。一、数据治理规划银行数据向来以量大质优而著称,但是实际情况是它比其他行业好一些,但原创 2021-02-23 11:34:08 · 675 阅读 · 0 评论 -
sqoop/NiFi将 mysql导入hive 数值类型变成null的问题解决方案
一、问题描述mysql通过sqoop导入到hive表中,发现有个别数据类型为int或tinyint的列导入后数据为null。设置各种行分隔符,列分隔符都没有效果。源库为1,0显示二、问题分析将hive中单独将有问题的那几列的数据类型设置为string类型,重新导入后发现,里面的值变成true或者false,依然不是0和1由此猜想,sqoop在导入的时候,将那几列的数据转换成了bool类型,问题产生的原因和hive建表语句无关,只能发生在sqoop端或者mysql端。经过查看,发现mysql中原创 2021-01-12 17:07:30 · 780 阅读 · 0 评论 -
大数据局执行引擎MR、Tez和Spark对比
MapReduceMapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)“和"Reduce(归约)”。TezTez是Apache开源的支持DAG作业的计算框架,它直接源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,即Map被拆分成Input、Processor、Sort、Merge和Output, Reduce被拆分成Input、Shuffle、Sort、Merge、Processor和Output等,这样,这些分解后的元操作可原创 2020-12-23 16:52:51 · 9229 阅读 · 4 评论 -
Hadoop数仓迁移(一):distcp命令、分区修复
目前项目涉及需求:迁移Hadoop数仓(由CDH环境迁移到HDP环境),涉及到hive表的重建,以及hdfs上文件的迁移,以及元数据、分区表的修复。一、建表hive重建表比较简单,首先show create table tablename;然后把建表语句拷贝下来即可,这里要注意的是,特殊分割符和存储文件格式(默认textfile,项目中设计parquet格式),需要将分割语句和stored as XXX语句也加上。否则会导致hadoop集群的hive建表时的默认的存储格式不一致而报错这里我写了一个批量原创 2020-08-01 17:06:10 · 1688 阅读 · 0 评论 -
批量生成hive建表语句
这里以shell为例echo "==========导出test库所有的表结构=========="hive -e "use test;show tables;" > /data/tables.txtecho "==========逐行遍历表信息========="cat tables.txt |while read eachlinedoecho "==========批量生成建表语句========="hive -e "use test;show create table $eac原创 2020-07-30 19:16:55 · 1443 阅读 · 0 评论 -
Presto简介2_安装部署
Presto是一个运行在多台服务器上的分布式系统。 完整安装包括一个coordinator和多个worker。 由客户端提交查询,从Presto命令行CLI提交到coordinator。 coordinator进行解析,分析并执行查询计划,然后分发处理队列到worker。一.下载安装包下载地址1:https://prestodb.io/download.html下载地址2:https://repo1.maven.org/maven2/com/facebook/presto/presto-server原创 2020-11-23 11:40:32 · 578 阅读 · 0 评论 -
distcp跨集群拷贝文件失败 Source and target differ in block-size. Use -pb to preserve block-sizes during copy
distcp命令是常用的大数据集群间的数据拷贝命令,有时候会因为不同集群间的block块大小不一致导致命令执行失败。报错如下 Source and target differ in block-size. Use -pb to preserve block-sizes during copy原因分析distcp默认拷贝文件时不记录原block大小导致在原文件block.size不是128M时校验失败,需要在distcp命令增加-pb参数。1.HDFS在写的时候有设置块大小,默认128M,某些组件原创 2020-11-23 10:12:43 · 1150 阅读 · 0 评论 -
NiFi 1.9.2安装部署和使用(CentOS 7)
一、安装部署Linux中需要安装jdk,因为NiFi就是Java写的。二、NIFI启停三、web界面四、运行日志五、常见问题参考资料:官网地址:http://nifi.apache.org/文档:http://nifi.apache.org/docs.html原创 2020-09-19 15:55:28 · 2583 阅读 · 0 评论 -
Apache NiFi简介
一、什么是NiFiNiFi是美国国家安全局开发并使用了8年的可视化数据集成产品,2014年NAS将其贡献给了Apache社区,2015年成为Apache顶级项目。官方给的解释如下:简言之:一个基于Web图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集等功能的数据处理与分发系统。说明:Apache NiFi 是为数据流设计。它支持高度可配置的指示图的数据路由、转换和系统中介逻辑,支持从多种数据源动态拉取数据。NiFi原来是NSA的一个项目,目前已经代码开源,是Apache基金会的顶原创 2020-05-20 19:06:58 · 1454 阅读 · 0 评论 -
CDH常用优化配置_HDFS配置
1.dfs.block.sizeHDFS中的数据block大小,默认是64M,对于较大集群,可以设置为128或264M2.dfs.datanode.socket.write.timeout增加dfs.datanode.socket.write.timeout和dfs.socket.timeout两个属性的时间,避免出现IO超时3.dfs.datanode.max.transfer.thre...原创 2020-04-13 17:55:17 · 1706 阅读 · 0 评论 -
CDH常用优化配置_Hive配置
1.hive.metastore.warehouse.dirHive 仓库目录是在 HDFS 中存储 Hive 表格的位置。注意此仓库目录的 Hive 默认值为“/user/hive/warehouse”。2.hive.warehouse.subdir.inherit.perms让表目录继承仓库或数据库目录的权限,替代使用从 dfs umask 派生权限创建。该操作允许通过 Hive 将 ...原创 2020-04-13 17:23:03 · 2975 阅读 · 0 评论 -
CDH运维面试题整理
一、CDH搭建1.CM数据库初始化报错:/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hnode01 -uroot -pMysql#123 --scm-host node168 scm scm scm错误一:java.sql.SQLException: Access denied for user ‘ro...原创 2020-03-30 17:48:42 · 8039 阅读 · 7 评论 -
CDH5.13.1大数据集群搭建手册
一、环境配置1.软件环境本文将介绍Centos7.2 离线安装CDH和Cloudera Manager过程,软件版本如下:2.配置规划本次安装共5台服务器,服务器配置及用途如下:3.所需要的软件资源1)JDK环境:JDK版本:1.8.0_151jdk-8u151-linux-x64.rpm下载地址:http://www.oracle.com/technetwork/java/...原创 2020-03-29 15:00:20 · 651 阅读 · 0 评论 -
10步完成CDH5集群添加新节点
1.设置 hostname 和 hostsvim /etc/hostnamevim /etc/hosts2.关闭SELINUX(若已配置可略过)vim /etc/selinux/config3.配置ssh免密.将主节点的公钥复制到新加节点集群中服务器4.安装JDK并配置环境变量5.新增节点中下载CDH相关文件(或者从主节点拷贝),并解压mkdir /opt/module/...原创 2020-03-28 16:37:12 · 839 阅读 · 0 评论 -
CDH集群高可用配置方法
一、高可用(HA)介绍CDH高可用主要是HDFS和YARN,在保证hdfs数据不丢失的情况下,即使有节点宕机,重启即可也不会有影响。HDFS 1.0中虽然存在一个第二名称节点(Secondary NameNode),但第二名称节点无法提供“热备份”功能,一旦名称节点发生故障,系统需要停机恢复。HDFS 2.0 采用HA(High Availability)架构,解决了NameNode 单点故障...原创 2020-03-28 16:08:33 · 2963 阅读 · 1 评论 -
认识集群和集群方案
一、什么是集群集群(cluster)就是将多个相同的工程集中起来提供同一种服务,这些单个的工程就是集群的节点(node)。基于集群的横向扩展性,可以通过增加节点数量实现并发线性增长。同时也可以用多个工程做备份,避免单机不可用导致系统停止造成的损失(业务中断、数据/模板丢失),确保系统 7*24h 稳定运行。二、 Web 集群特点2.1 高可用性1)无主机模式,某一节点宕机后集群系统仍可正...原创 2019-08-17 15:49:57 · 433 阅读 · 0 评论 -
敏捷开发(scrum)简介
敏捷开发(scrum)是一种软件开发的流程,强调快速反应、快速迭代、价值驱动。Scrum的英文意思是橄榄球运动的一个专业术语,表示“争球”的动作;运用该流程,你就能看到你团队高效的工作。一、四大价值观(特点)敏捷开发的特点就是下面4句话:「个体与交互」胜过「过程与工具」「可以工作的软件」胜过「面面俱到的文挡」「客户协作」胜过「合同谈判」「响应变化」胜过「遵循计划」说明:(1)敏捷开发(scrum)适用于竞争激烈,快速变化的市场。 敏捷的客户协作观念,快速迭代能帮助团队以最小成本,最快速原创 2020-07-21 09:48:51 · 7741 阅读 · 0 评论 -
Kerberos安全认证部署和使用(HDP)
对于客户端而言,集群开启Kerberos之后,可以对可信任的客户端提供认证,使得可信任客户端能够正确提交作业,恶意用户无法伪装成其他用户侵入到集群当中,能够有效防止恶意冒充客户端提交作业的情况。对于服务端而言,集群开启Kerberos之后,集群中的服务都是可以信任的,集群服务之间使用密钥进行通信,避免了冒充服务的情况。开启Kerberos能够提升集群的安全性,但是也会提升用户使用集群的复杂度,提交作业的方式与没有开启Kerberos前会有一些区别,需要对作业进行改造,增加Kerberos认证的相关内容。原创 2020-09-22 17:17:05 · 2195 阅读 · 0 评论 -
yarn web管理界面
原生Hadoop安装完Yarn后,可以在浏览器中通过http://master:8088来访问Yarn的WEB UI,HDP支持Ambari控制台访问。如下图:一、集群指标区域包含如下内容:Apps Submitted:提交的任务数目Apps Pending:挂起的任务数目Apps Running:运行的任务数目Apps Completed:完成的任务数目Containers Running:正在运行的container数目Memory/VCores used:使用了整体集群的内存/虚原创 2020-08-03 10:31:32 · 9499 阅读 · 2 评论 -
HDFS常用命令整理
HDFS 文件系统提供了相当多的shell 操作命令,大大方便了程序员和系统管理人员查看、修改HDFS 上的文件。进一步,HDFS 的操作命令和Unix/Linux 的命令名称和格式相当一致,因而学习HDFS 命令的成本也大为缩小。一.命令帮助注:hdfs dfs等同于hadoop fs,这里均以hdfs dfs演示[root@node01 ~]# hdfs dfsUsage: hadoo...原创 2020-04-11 16:30:35 · 804 阅读 · 0 评论 -
DataX部署和使用方法
DataX 是阿里巴巴集团内被广泛使用的异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、MaxCompute(原ODPS)、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。框架设计DataX采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer插件,Reader从源数据库中读取数据转换成datax内部的数据格式,Writer从datax中把数据读出来并且转换成目的端的数据格式。Read原创 2020-07-27 11:37:24 · 4052 阅读 · 0 评论 -
大数据常用同步工具(DataX/Sqoop/Nifi/Canal等)
一、离线数据同步DataX阿里的Datax是比较优秀的产品,基于python,提供各种数据村塾的读写插件,多线程执行,使用起来也很简单,定义好配置json文件执行脚本就可以了,非常适合离线数据,增量数据可以使用一些编码的方式实现,但是也仅仅针对insert数据比较有效,update数据就不适合github地址:https://github.com/alibaba/DataXSqoopSq...原创 2020-04-16 10:44:25 · 14925 阅读 · 0 评论 -
浅谈大数据平台的数据治理
近几年大数据风生水起,随着大数据业务的不断开展,各大互联网公司包括一些传统企业都越老越重视数据价值的挖掘。一、数据治理模型在公司的日常运行中,各种数据分析和数据挖掘技术,为公司发展决策和业务开展提供数据支持。以某互联网公司为例,公司内部也形成了一套完善的数据治理方案,核心就是由大数据平台+数据仓库+数据治理平台+数据监控平台来实现数据治理。大数据平台支撑整个大数据的运行环境数据仓库整合各个业务线的数据,消灭数据烟囱数据治理平台提供统一指标管理、统一维度管理、统一数据出口管理数据质量负责监控数原创 2020-07-06 19:48:33 · 1700 阅读 · 0 评论 -
三分钟读懂用户画像
一、 什么是用户画像用户画像是指根据用户的属性、偏好、生活习惯、行为等信息,抽象出来的标签化用户模型。通俗说就是给用户打标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算机处理。用户画像是对现实世界中用户的建模,用户画像包含目标,方式,组织,标准,验证这5个方面。**目标:**指的是描述人,认识人,了解人,理解人。**方式:**分为非形式化手段,如使用文字、语言、图像、视频等方式描述人;形式化原创 2020-05-26 18:13:56 · 925 阅读 · 0 评论 -
大数据开发面试题
一、数仓相关1.简述一个完整的数仓项目流程2.详细描述数据抽取到ODS层的数据处理过程(银行数仓)?3.描述DWD事实表的建表规则和逻辑。实体表,一般是指一个现实存在的业务对象,比如用户,商品,商家,销售员等等。事务型事实表,一般指随着业务发生不断产生的数据。特点是一旦发生不会再变化。一般比如,交易流水,操作日志,出库入库记录等等。周期型事实表,一般指随着业务发生不断产生的数据。与事...原创 2020-01-19 14:38:40 · 744 阅读 · 0 评论 -
Confluence安装部署
一、安装Java解压缩[root@localhost soft]# tar -xvf jdk-8u211-linux-x64.tar.gz将文件移动到指定目录[root@localhost soft]# mv jdk1.8.0_211/ /usr/local/jdk1.8.0_211/配置Java环境[root@localhost soft]# vi /etc/profile追加如下内容export JAVA_HOME=/usr/local/jdk1.8.0_211export JR原创 2020-05-21 11:33:19 · 4755 阅读 · 4 评论 -
Presto简介
一、Presto是什么?Presto是一个开源的分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。Presto的设计和编写完全是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。官网和部署地址:http://prestodb.jd.com/overview.html二、它可以做什么?Presto支持在线数据查询,包括Hive, Cassandra, 关系数据库以及专有数据存储。 一条Presto查询可以将多个数据源的数据进行合并,可以跨越整个组织进行原创 2020-05-21 10:54:53 · 1180 阅读 · 0 评论 -
大数据十大开源查询引擎
1.HiveHive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为Map-Reduce任务进行运行,可以理解为披着SQL外衣的Map-Reduce。十分适合数据仓库的统计分析。弊端:Hive是为方便用户使用Map-Reduce而在外面封装了一层SQL,由于Hive采用了SQL,它的问题域比Map-Reduce更窄,因为很多问题,SQL表达不出来,比如一些数据挖掘算法,推荐算法、图像识别算法等,这些仍只能通过编写Map-R原创 2020-05-21 10:45:35 · 3470 阅读 · 0 评论