自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

遥望......

与人为善,好聚好散

  • 博客(335)
  • 资源 (12)
  • 收藏
  • 关注

转载 元数据管理|Hive Hooks和Metastore监听器介绍

元数据管理是数据仓库的核心,它不仅定义了数据仓库有什么,还指明了数据仓库中数据的内容和位置,刻画了数据的提取和转换规则,存储了与数据仓库主题有关的各种商业信息。本文主要介绍Hive Hook和MetaStore Listener,使用这些功能可以进行自动的元数据管理。通过本文你可以了解到:元数据管理 Hive Hooks 和 Metastore Listeners Hive Hooks基本使用 Metastore Listeners基本使用元数据管理元数据定义按照传统的定义,元数据( M

2021-06-08 15:18:30 6

转载 Hive on Tez 中 Map 任务的数量计算

Hive on Tez Mapper数量计算在Hive中执行一个query时,我们可以发现Hive的执行引擎在使用Tez与MR时,两者生成mapper数量差异较大。主要原因在于Tez中对inputSplit做了grouping操作,将多个inputSplit组合成更少的groups,然后为每个group生成一个mapper任务,而不是为每个inputSplit生成一个mapper任务。下面我们通过日志分析一下这中间的整个过程。1.MR模式在...

2021-05-07 10:03:31 31

转载 【开发技能】研发线上事故总结!

一、前言你的代码出过事故吗?老人言:常在河边走哪有不湿鞋。只要你在做着编程开发的工作就一定会遇到事故,或大或小而已。当然可能有一部分研发同学,在相对传统的行业或者做着用户体量较小的业务等,很难遇到让人出名的事故,多数都是一些线上的小bug,修复了也就没人问了。但如果你在较大型的互联网公司,那么你负责的开发的系统功能,可能面对的就是成百万、上千万级别用户体量。哪怕你有一点小bug也会被迅速放大,造成大批量的客诉以及更严重的资金损失风险。就像: 拼多多“薅羊毛”事件,朋友圈疯狂转发。

2021-04-06 13:50:48 67

原创 Exception in thread “main“ com.amazonaws.services.s3.model.AmazonS3Exception: Status Code: 400

1.确保代码里有对应的spark set 认证信息spark.sparkContext.hadoopConfiguration.set("fs.s3a.endpoint", "your endpoint")spark.sparkContext.hadoopConfiguration.set("fs.s3a.access.key", "your accessKeyId")spark.sparkContext.hadoopConfiguration.set("fs.s3a.secret.key",

2021-04-01 22:32:24 71

原创 spark-sql查询分区时会扫描全表的问题

背景同一个SQL在hive里执行正常,但是用sparksql执行异常,抛出如下错误:the operation is not valid for the object's storage class glacier原因在于,这个表是分区表,且设置了S3的存储自动生命周期,所以超过N天之前的数据就变成了glacier,无法直接用于检索。但是很好奇的是对于同样的hive语句是可以执行的,所以问题出在spark-sql,通过分析执行日志,发现spark-sql在执行where条件过滤的时候扫描了所有

2021-03-29 17:18:23 71

转载 如何参与Github上的开源项目

以开源推消息送项目MPush为例Fork 开源项目到自己的账号 打开https://github.com/并登录自己的账号 打要参与的开源开项目主页: 比如 https://github.com/mpusher/mpush Fork该项目到自己的账户下(点击右上角的Fork按钮) 打开刚刚Fork的仓库主页(在自己的账号下面) clone 该仓库到本地,以我自己的账号ohun为例:clone git@github.com:ohun/mpush.git.

2021-03-02 22:22:48 51

转载 hiveServer2、metastore以及client解读

hive服务架构图:Metastore通过Thrift API 对外提供访问,生态里的工具如:pig, MR, impala, presto, SparkSQL, NIFI 都可以通过Thrift接口访问Metastore, Metastore接口格式为:thrift://xxxxxxx:9083HiveServer2对外提供JDBC/ODBC接口,供前端工具(DBeavor, SQL Squirrel, SQL Developer, DBVis)使用, 编程语言如:Python, Scala,

2021-02-26 18:16:24 62

转载 滴滴大数据安全权限实践

在滴滴,数据是非常重要的资产,基于数据的数仓建设,数据分析、数据挖掘、数据科学等构建了滴滴的数据体系,支撑着滴滴的业务快速发展。在这个背景下,如何保障用户获取数据的易用性的同时可以更加安全,是对我们大数据平台提出来的非常大的挑战,本文将介绍下我们在面对挑战下,在大数据权限安全建设上实践。1.用户认证 - 自研账号密码机制提到安全,首先要面对的就是用户认证,Hadoop 社区版本是没有安全认证的,因此只要随意 export HADOOP_USER_NAME=Anyone,就可以伪装为任意用户.

2021-02-18 23:08:09 107

原创 flink 任务在yarn里设置用户名

spark 任务可以通过--proxy-user xxxx能设置代理用户执行任务,在yarn 的application ui 里的username显示为xxxxflink 任务可以通过在执行flink run之前exportHADOOP_USER_NAME=xxxx 或者执行命令加上参数-yD env.java.opts="-DHADOOP_USER_NAME=xxxx"...

2021-01-16 16:31:49 346

原创 beeline 连hive报Unexpected end of file when reading from HS2 server错误

错误信息:Unexpected end of file when reading from HS2 server. The root cause might be too many concurrent connections. Please ask the administrator to check the number of active connections, and adjust hive.server2.thrift.max.worker.threads if applicable.原

2021-01-11 22:49:29 251

转载 HiveServer2 获取日志

讨论的版本为: HiveServer2 版本 : 2.3.1 + tez由于最近在弄WEBIDE,其中在连接Hiveserver2的时候,在Hiveserver2的获取日志的方式,发现了两个坑,找了许多文献,也没有找到解决的办法。其中一个坑,有一个同事在看到hive的BUG反馈中,看到一些类似情况,解决的。而另外一个坑,是走了很多很多崎岖的路途,一步一步的发现出来的解决办法。1.HIVESERVER 2 没有日志在其他配置(启动日志配置,log4j,等等)都没有别的问题的时候,依..

2021-01-11 16:04:25 326 2

转载 ClickHouse集群安装

172.16.120.100 ck_server_100(shard1)172.16.120.101 ck_server_101(shard1) zk_server_101172.16.120.102 ck_server_102(shard2) zk_server_102172.16.120.103 ck_server_103(shard2) zk_server_1031. 安装jdk(101/102/103上执行)[root@node101 /usr/local/src]# tar x.

2020-10-21 10:13:38 169

转载 acks参数对消息持久化的影响

(0)写在前面  面试大厂时,一旦简历上写了Kafka,几乎必然会被问到一个问题:说说acks参数对消息持久化的影响?  这个acks参数在kafka的使用中,是非常核心以及关键的一个参数,决定了很多东西。  所以无论是为了面试还是实际项目使用,大家都值得看一下这篇文章对Kafka的acks参数的分析,以及背后的原理。  (1)如何保证宕机的时候数据不丢失?  如果要想理解这个acks参数的含义,首先就得搞明白kafka的高可用架构原理。  比如下面的图里就是表明了对于每一个Topi

2020-10-20 23:03:00 42

转载 Kafka参数调优实战

目录1、背景引入:很多同学看不懂Kafka参数2、一段Kafka生产端的示例代码3、内存缓冲的大小4、多少数据打包为一个Batch合适?5、要是一个Batch迟迟无法凑满咋办?6、最大请求大小7、重试机制8、持久化机制1、背景引入:很多同学看不懂kafka参数今天给大家聊一个很有意思的话题,大家知道很多公司都会基于Kafka作为MQ来开发一些复杂的大型系统。而在使用Kafka的客户端编写代码与服务器交互的时候,是需要对客户端设置很多的参数的。所以我就见过很多年

2020-10-20 23:02:08 106

转载 Spark的对象不可序列化(object not serializable)的一个解决方案

最近在公司开发了一个新项目。这个项目要求人工去编写配置文件,然后根据配置文件配置的函数去处理数据。学到的隐式转换终于排上用场了。假设这些函数就是对比两个Set内容,然后得到这俩Set的相关得分。如下,然后分别实现这些函数即可。 object ScoreFunction{ implicit class FunctionGetterFaster(val functionConf: String) extends AnyVal { def getFunc: (Set[Stri..

2020-10-17 22:47:05 505 1

原创 快速在centos上安装redis-cli

wget http://download.redis.io/redis-stable.tar.gztar xvzf redis-stable.tar.gzcd redis-stablemake redis-clisudo cp src/redis-cli /usr/local/bin/

2020-10-17 22:30:36 591

转载 详细解析kafka之kafka分区和副本

本篇主要介绍kafka的分区和副本,因为这两者是有些关联的,所以就放在一起来讲了,后面顺便会给出一些对应的配置以及具体的实现代码,以供参考~1.kafka分区机制分区机制是kafka实现高吞吐的秘密武器,但这个武器用得不好的话也容易出问题,今天主要就来介绍分区的机制以及相关的部分配置。首先,从数据组织形式来说,kafka有三层形式,kafka有多个主题,每个主题有多个分区,每个分区又有多条消息。而每个分区可以分布到不同的机器上,这样一来,从服务端来说,分区可以实现高伸缩性,以及负载均衡,动态

2020-10-16 23:02:26 487

转载 如何确定Kafka的分区数、key和consumer线程数

在Kafak中国社区的qq群中,这个问题被提及的比例是相当高的,这也是Kafka用户最常碰到的问题之一。本文结合Kafka源码试图对该问题相关的因素进行探讨。希望对大家有所帮助。怎么确定分区数? “我应该选择几个分区?”——如果你在Kafka中国社区的群里,这样的问题你会经常碰到的。不过有些遗憾的是,我们似乎并没有很权威的答案能够解答这样的问题。其实这也不奇怪,毕竟这样的问题通常都是没有固定答案的。Kafka官网上标榜自己是"high-throughput distributed mes...

2020-10-14 09:41:16 360

转载 参与github上开源项目的大致流程和注意事项

Foreword  github是一个很火的代码托管服务网站,可能好多人都想参与一两个项目玩一玩学习一下,但由于是纯英文的网站,可能又会止步于想法上没有动手实践。接下来我就介绍一下参与github上开源项目的大致流程,以及注意的地方。当然这里不会详细介绍git的使用,看懂本文还得需要参考其他资料,学习git的相关使用方法。大致流程  一、首先需要在github上注册账号并登陆,这个不多说了  二、安装git,到github官网下载安装包。    在这里我用的是github for wi.

2020-10-13 00:12:53 167

转载 windows安装npm教程

在使用之前,先类掌握3个东西,明白它们是用来干什么的:npm: nodejs 下的包管理器。webpack: 它主要用途是通过CommonJS 的语法把所有浏览器端需要发布的静态资源作相应的准备,比如资源的合并和打包。vue-cli: 用户生成Vue工程模板。(帮你快速开始一个vue的项目,也就是给你一套vue的结构,包含基础的依赖库,只需要npm install 就可以安装。2、nodejs下载网址:https://nodejs.org/en/ 【如果嫌下载的慢,可以下载其他网站...

2020-10-12 23:57:55 3906

原创 hive关键字处理方式

Hive的关键字包括Keywords, Non-reserved Keywords and Reserved KeywordsKeywordsADD,ADMIN,AFTER,ALL,ALTER,ANALYZE,AND,ARCHIVE,ARRAY,AS,ASC,AUTHORIZATION,BEFORE,BETWEEN,BIGINT,BINARY,BOOLEAN,BOTH,BUCKET,BUCKETS,BY,CASCADE,CASE,CAST,CHANGE,CHAR,CLUSTER,CLUST

2020-09-16 23:21:57 577 1

转载 了解canal,看这个就够了

一. canal概述canal是Alibaba旗下的一款开源项目,纯Java开发.它是基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持mysql。应用场景:1.数据同步,比如:做在线、离线数据库之间的数据同步操作; 2.数据消费,比如:需要根据关注的数据库表的变化,做搜索增量; 3.数据脱敏,比如:需要将线上动态数据导入到其他地方,做数据脱敏。二. canal工作原理1. mysql主备复制实现(1) master将改变记录到二进制日志(binary .

2020-09-15 23:45:18 205

转载 利用Canal投递MySQL Binlog到Kafka

Update:Canal与Camus的结合使用,见https://www.jianshu.com/p/4c4213385368。Canal是阿里开源的一个比较有名的Java中间件,主要作用是接入数据库(MySQL)的binlog日志,实现数据的增量订阅、解析与消费,即CDC(Change Data Capture)。近期我们计划将数据仓库由基于Sqoop的离线按天入库方式改为近实时入库,Canal自然是非常符合需求的。Canal的模块设计精妙,但代码质量低,阅读起来比较困难。在其GitHub Wi

2020-09-15 23:19:44 221

原创 canal instance区别

spring/memory-instance.xml所有的组件(parser , sink , store)都选择了内存版模式,记录位点的都选择了memory模式,重启后又会回到初始位点进行解析特点:速度最快,依赖最少(不需要zookeeper)场景:一般应用在quickstart,或者是出现问题后,进行数据分析的场景,不应该将其应用于生产环境spring/file-instance.xml所有的组件(parser , sink , store)都选择了基于file持久化模式,注意,不支

2020-09-09 01:20:23 317

转载 多实例 canal应用-1个server+2个instance+2个client+2个mysql

canal应用-1个server+2个instance+2个client+2个mysql原创一 canal应用架构设计组件说明:1 . linux内核版本(CentOS Linux 7):(命令:uname -a)Linux slave1 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux 2.mysql版本:(SQL命令:select version(); 或 st.

2020-09-09 01:15:15 433

转载 深入解析中间件之-Canal

canal: 阿里巴巴mysql数据库binlog的增量订阅&消费组件MySQL binlogMySQL主从复制mysql服务端修改配置并重启$ vi /etc/my.cnf[mysqld]log-bin=mysql-binbinlog-format=ROWserver_id=1$ mysql -urootCREATE USER canal IDENTIFIED BY 'canal'; GRANT ALL PRIVILEGES ON *.* TO 'canal'@

2020-09-09 01:03:24 386

转载 RESTful API 设计最佳实践

原文:RESTful API Design. Best Practices in a Nutshell.作者:Philipp Hauer项目资源的URL应该如何设计?用名词复数还是用名词单数?一个资源需要多少个URL?用哪种HTTP方法来创建一个新的资源?可选参数应该放在哪里?那些不涉及资源操作的URL呢?实现分页和版本控制的最好方法是什么?因为有太多的疑问,设计RESTful API变得很棘手。在这篇文章中,我们来看一下RESTful API设计,并给出一个最佳实践方案。每个资源使用两个U..

2020-09-09 01:02:12 47

转载 数据质量监控工具-Apache Griffin

文章目录 一、概述 二、Apache Griffin 2.1 特性 2.1.1 数据质量指标说明 2.2 优势 2.3 工作流程 2.4 系统架构 2.5 数据验证逻辑 2.6 Demo 2.7 后台提交监控任务 一、概述随着业务发展和数据量的增加,大数据应用开发已成为部门应用开发常用的开发方式,由于部门业务特点的关系,spark和hive应用开发在部门内部较为常见。当处理的数据量达到一定量级和系统的复杂度上升时,数据的唯一.

2020-09-07 23:37:54 162

原创 clickhouse在linux单机快速安装

sudo yum install yum-utilssudo rpm --import https://repo.clickhouse.tech/CLICKHOUSE-KEY.GPGsudo yum-config-manager --add-repo https://repo.clickhouse.tech/rpm/stable/x86_64启动服务:sudo service clickhouse-server start查看log:cd /var/log/clickhouse-serve.

2020-09-06 14:12:08 317

转载 使 Amazon EBS 卷可在 Linux 上使用

将某个 Amazon EBS 卷附加到您的实例后,该卷将显示为块储存设备您可以使用任何文件系统将卷格式化,然后进行挂载。在使 EBS 卷可供使用后,您可以像访问其他所有卷一样访问该卷。任何写入此文件系统的数据均写入 EBS 卷,并且对使用该设备的应用程序是透明的。您可以制作 EBS 卷的快照以进行备份或在您创建其他卷时作为基准。有关更多信息,请参阅Amazon EBS 快照。您可以从Amazon EC2 用户指南(适用于 Windows 实例)中的使卷可在 Windows 上使用,获得有关 Wi..

2020-09-06 13:51:57 51

转载 谷歌的代码管理

谷歌和 Facebook 都只有一个代码仓库,全公司的代码都放在这个库里。我一直很困惑,为什么要这样做,不同语言的项目放在一个库有什么好处?最新一期的《ACM通信》(59卷第7期)有一篇论文《为什么 Google 要把几十亿行代码放在一个库?》,作者是谷歌基础设施小组的工程师,可以看作官方对这个问题的详细解答。我读后感到收获很大,下面就是摘录。一、概况谷歌最早使用 CVS 进行代码管理,1999年改为 Perforce。那时是一台 Perforce 主机,加上各种缓存机。当时,全公.

2020-08-24 00:34:21 54

转载 版本分支管理标准 - Trunk Based Development 主干开发模型

之前分享过《版本分支管理标准 - Git Flow》,不过在实际使用过程中, 因为其有一定的复杂度,使用起来较为繁琐,所以一些人员较少的团队并不会使用这个方案。在这基础上,一些新的分支管理标准被提出。这里转发一下这个标准:《Trunk Based Development 主干开发模型》。Preface在之前的博文中我们介绍了 Git Flow 分支模型,正如文中所说,Git Flow 偏向于控制管理,使用了较多的分支,流程颇为复杂。大量的团队在实践过程中也遇到了颇多问题,其中大部分来自长期存在的

2020-08-24 00:08:37 227

原创 java maven copyright

Try switching to thecom.mycila:license-maven-plugin. Their documentation is very easy to follow.Create a template in a fileFor example, put inlicense-header.txt:Copyright (C) ${license.years} ${license.owner} <${license.email}>============..

2020-08-23 22:57:57 31

转载 maven配置之:snapshot快照库和release发布库

在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。我们知道,maven的依赖管理是基于版本管理的,对于发布状态的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于正式发布版本来做依赖管理,那么遇到这个问题,就需要升级组件的版本号,可这样就明显不符合要求和实际情况了。但是,如果是基于快照版本,那么问题就自热而然的解决了,而mave

2020-08-23 10:41:44 622

转载 Maven快照机制(SNAPSHOT)

以下引用自https://ayayui.gitbooks.io/tutorialspoint-maven/content/book/maven_snapshots.html:一、场景一个大型的软件应用通常包含多个模块,并且通常的场景是多个团队开发同一应用的不同模块。举个例子,设想一个团队开发应用的前端,项目为app-ui(app-ui.jar:1.0),而另一个团队开发应用的后台,使用的项目是data-service(data-service.jar:1.0)。现在可能出现的情况是开发data-

2020-08-22 23:57:33 307

原创 slf4j+logback&logback.xml

1.maven依赖<dependencies><!--https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.

2020-08-22 23:23:26 34

原创 maven checkstyle findbugs pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4....

2020-08-22 22:42:49 80

转载 SLF4j 和 common-logging

Apache Common-Logging是广泛使用的Java日志门面库。我以前一直都使用它和log4j编写日志。Apache Common-Logging通过动态查找的机制,在程序运行时自动找出真正使用的日志库。Apache Common-Logging一直都运作得很好。直到最近,我写OSGI插件时,它不能工作了。原因是Apache Common-Logging使用了ClassLoader寻找和载入底层的日志库。而OSGI中,不同的插件使用自己的ClassLoader。一个线程的Class...

2020-08-22 16:40:30 67

原创 maven chekstyle 缩进调整

默认情况下Google的checkstyle 代码缩进为4个空格字符,和Intelij ideal的默认控制符不匹配,如需调整,可修改checksytle.xml的文件内容为如下:<module name="Indentation"> <property name="severity" value="error"/> <property name="basicOffset" value="2"/> <property name="brac.

2020-08-22 16:27:09 186

转载 DataX Transformer 源码分析及 UDF 扩展与使用

DataX GitHub DataX Transformer目录1前言 2需求说明 3解决方案分析 4解密算法 5Hive UDF 5.1测试数据 5.2新建 Maven 项目 5.3POM 5.4UDF 5.5测试代码 5.6编译打包 5.7使用 6DataX 6.1DataX Transformer 6.2Transformer配置样例 6.3一份测试数据 6.4方法1:开发自定义的解密 Transfo...

2020-08-19 11:14:50 421

数据挖掘数据分析面试题

数据挖掘数据分析面试题,实用便捷,有一定参考价值,网上搞来的

2014-08-22

百度2010校园招聘 web前端开发笔试题

005t百度2010校园招聘 web前端开发笔试题005t百度2010校园招聘 web前端开发笔试题

2011-04-16

百度笔试题---数据库

百度笔试题---数据库百度笔试题---数据库百度笔试题---数据库百度笔试题---数据库

2011-04-16

机器学习:实用案例解析(R语言)

目前网上很多都是sample版本的,这本是机器学习:实用案例解析的中文版本,带完整书签,内容非常好,看过的都知道!强烈建议购买纸质书

2014-08-22

R参考卡片资料

R参考卡片

2014-07-11

hive日志系统实战

hive日志系统实战

2014-07-11

C/C++程序员面试宝典

C/C++程序员面试宝典C/C++程序员面试宝典C/C++程序员面试宝典C/C++程序员面试宝典C/C++程序员面试宝典C/C++程序员面试宝典

2011-05-02

百度笔试题详细及解答

百度笔试题详细及解答百度笔试题详细及解答百度笔试题详细及解答百度笔试题详细及解答

2011-04-16

基数排序过程及程序基数排序过程及程序

基数排序过程及程序基数排序过程及程序基数排序过程及程序基数排序过程及程序

2011-04-16

百度技术招聘笔试题目

百度技术招聘笔试题目 百度技术招聘笔试题目 百度技术招聘笔试题目

2011-04-16

百度技术招聘笔试题目

百度程序设计笔试题百度程序设计笔试题百度程序设计笔试题

2011-04-16

百度技术招聘笔试题目

百度技术招聘笔试题目百度技术招聘笔试题目百度技术招聘笔试题目

2011-04-16

空空如也

空空如也

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

TA关注的人 TA的粉丝

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