自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Mac上app重签名失败:main executable failed strict validation

在用自己生成的证书给app重签名时,遇到的一个坑。记录如下: /Applications/Navicat Premium.app/Contents/MacOS  codesign -f -s '重签名Navicat' ./Navicat\ Premium./Navicat Premium: main executable failed strict validation解决方法:odes...

2018-12-14 16:52:00 2841

原创 FastJson序列号和反序列化范例(Java、Scala版)

目录1. Java版1.1 序列化        1.1.1 序列化一个普通对象        1.1.2 序列化和反序列化日期1.2 反序列化1.3 一些其他常用函数2. Scala版2.1 序列化2.2 反序列化 1. Java版1.1 序列化1.1.1 序列化一个普通对象存在空值时,有两种处理方法。// 正常对象User u =...

2018-08-03 15:23:05 1730

原创 hive合并小文件的配置项

〇. 启动压缩set hive.exec.compress.output=true;set mapreduce.output.fileoutputformat.compress=true; 一. 输入合并:当有大量小文件时,启动合并,减少map数。set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputF...

2018-07-19 17:09:33 4691

原创 Hive SQL转化为MapReduce执行计划深度解析

目录1. MapReduce实现基本SQL操作的原理1.1 Join的实现原理1.2 Group By的实现原理1.3 Distinct的实现原理2. SQL转化为MapReduce的过程2.1 Phase1 SQL词法,语法解析2.2 Phase2 SQL基本组成单元QueryBlock 2.3 Phase3 逻辑操作符Operator和逻辑操作树Operator...

2018-07-18 11:28:24 7995 3

原创 大数据技术栈记录

记录一些大数据相关的网址,以后有空学习:Apache Phoenix介绍(SQL on HBase)HBASE介绍 

2018-07-17 14:38:09 309

原创 Hive创建自己的UDF并永久化详细记录

1.UDF是什么?hive的类SQL预发给数据挖掘工作者带来了很多便利,海量数据通过简单的sql就可以完成分析,有时候hive提供的函数功能满足不了业务需要,就需要我们自己来写UDF函数来辅助完成,下面用一个简单的例子说明过程,以及注意事项。UDF函数其实就是一个简单的函数,执行过程就是在Hive转换成mapreduce程序后,执行java方法,类似于像Mapreduce执行过程中加入一个插件,方...

2018-07-11 14:45:36 3042

原创 用分桶解决动态分区最后一轮reducer数量过少导致运行缓慢问题。

场景动态分区时,最后一轮reduce会按照字段的值作为key去分发数据到不同的reducer,但是如果分区值的数量过少,就会导致严重的数据倾斜。运行时间过长。任务growth.m_device_impression.sql中,由于p_app_name是分区字段,而目前只有三个可能的值,所以最后一轮按key分发任务时,只有三个reducer。其中某个值的那个reducer要跑一个小时。这是由于数据倾...

2018-07-10 18:14:05 1149

原创 Hive的WITH table_name AS ..语句优化性能

Hive的WITH语句会将表预先加载入内存,在以提高代码运行效率。一.WITH AS的含义WITH AS短语,也叫做子查询部分(subquery factoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNION ALL的不同部分,作为提供数据的部分。特别对于UNION ALL比较有用。因为UNIO...

2018-07-09 14:44:39 7442 2

原创 小球染色问题总结-DP和递归

问题描述有一串长度为N的小球排成一排,要求将他们全部染色,共有k种颜色,但是不能出现连续三个及以上相同颜色的珠子。输入长度N和颜色种类K,求所有染色的方法总数。输入示例:2,3输出示例:9输入示例:3,2输出示例:6问题分析:排列问题暴力破解的时间复杂度为O(k^n)。可以考虑DP,因为第i个小球的颜色只受i-1和i-2小球颜色的影响。用dp[i-2]表示当染色到i...

2018-06-29 11:31:20 2660

原创 Hive数据去重方法记录

Hive数据去重语句insert overwrite table ad_click_info select t.ad_id,t.ad_date from ( select ad_id, ad_date , row_number() over(distribute by ad_id sort by ad_date ...

2018-06-26 15:57:25 3937

原创 Hive组件及Hive执行流程

1、组件:元存储(Metastore )-存储“系统目录以及关于表、列、分区等的元数据”的组件。驱动(Driver )- 控制 HiveQL 生命周期的组件,当 HiveQL 查询穿过 Hive时。该驱动管理着会话句柄以及任何会话的统计。查询编译器(Query Compiler) - 是一个组件,将HiveQL编译成有向无环图(directed acyclic graph, DAG)形式的map/...

2018-06-21 18:02:46 2109

原创 Hive学习笔记——DDL和DML基础语句

1.  DDL 操作:数据定义语音创建简单表hive> CREATE TABLE pokes (foo INT, bar STRING); 创建外部表:CREATE EXTERNAL TABLE page_view(viewTime INT, userid BIGINT, page_url STRING, referrer_url STRING, ip STRING CO...

2018-06-21 17:58:12 250

原创 hive的strict模式下where,group by,having,order by同时使用的执行顺序

主要限制三种情况(1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大(2) order by 执行时只产生一个reduce,必须加上limit限制结果的条数,防止数据量过大造成1个reduce超负荷(3) join时,如果只有一个reduce,则不支持笛卡尔积查询。也就是说必须要有on语句的关联条件,做自然连接。group by...

2018-06-20 14:41:00 1513

原创 JDBC处理事务

一、什么是事务?  在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!二、事务是必须满足4个条件(ACID)事务的原子性( Atomicity):一组事务,要么成功;要么撤回。一致性 (Consistency):事务执行后,数据库状态与其他业务规则保持一致。如转账业务,无论事务执行成功否,参与转账的两...

2018-06-20 14:30:25 222

转载 PrestoDB在京东的应用实践

京东商城集团运维部数据库工程师吕信在为大家分享了京东在PrestoDB方面的使用经验和研究工作。以下是吕信的演讲速记:  吕信:大家好,我是本次演讲的吕信,来自于京东商城运维部。在京东商城期间,其实在这三年内我主要是从事大数据相关的开发、调研和架构数据的工作,由于我之前是在京东商城主要负责京东商城整个的Hadoop的运维管理和架构升级与改造,后来京东商城有一个在大数据方面有一个战略调整,我们急需要...

2018-06-20 10:28:55 2322

翻译 HIVE和HBASE

1. 两者分别是什么?   Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Hadoop。    Apache HBase是一种Key/Value...

2018-06-19 16:38:04 199

原创 Hive中SUM结果不对的Bug记录

SUM之后的结果变小sum一个表的结果,和直接sum子查询返回的结果不一致。检查发现是表使用了bigint字段,sum之后返回的数值是科学计数法,再转回bigint的时候会出错,返回null值。从而漏掉统计部分数据...

2018-06-19 14:27:19 4043

原创 Hive中GroupBy的实现原理

例子hive> SELECT * FROM logs;a 苹果 5a 橙子 3a 苹果 2b 烧鸡 1 hive> SELECT uid, SUM(COUNT) FROM logs GROUP BY uid;a 10b 1计算过程默认设置了hive.map.aggr=true,所以会在mapper端先group by一次,最后再把结果merge起来,为了减...

2018-06-19 14:24:12 2047

原创 Hive中索引,分区,分桶的对比

一、索引Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键。Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要读取的数据块的数量。为什么要创建索引?Hive的索引目的是提高Hive表指定列的查询速度。没有索引时,类似'WHERE tab1.col1 = 0' 的查询,Hive会加载整张表或分区,然后处理...

2018-05-30 15:06:59 1851

原创 ClickHouse REST API(HTTP接口)及Engine引擎的使用

1.访问接口ClickHouse 自己的 clickhouse-client 使用的是“原生”的 TCP 连接来完成与服务端的交互,而在应用中用它的话,它有实现一个 HTTP 的访问接口,把 SQL 语句通过 HTTP 发送到服务端,就可以得到响应数据了(其实不用担心效率问题,数仓场景下,这种传输成本相较于大数据量下的聚合计算挑战,直接就忽略吧)。默认配置下, HTTP 的服务是在 8123 端口...

2018-05-28 20:03:58 19706 1

原创 Hive中索引的使用及注意事项

索引的作用Hive支持索引,但是Hive的索引与关系型数据库中的索引并不相同,比如,Hive不支持主键或者外键。Hive索引可以建立在表中的某些列上,以提升一些操作的效率,例如减少MapReduce任务中需要读取的数据块的数量。在可以预见到分区数据非常庞大的情况下,索引常常是优于分区的。虽然Hive并不像事物数据库那样针对个别的行来执行查询、更新、删除等操作。它更多的用在多任务节点的场景下,快速地...

2018-05-24 16:43:21 17243

原创 Hive表保存数据到Excel做数据比对

由于工作需要,将一些数据库要从hive中迁移到clickhouse中,迁移完成后需要核对数据。在此记录将hive中和clickhouse中两张表做数据对比时遇到的一些问题。1.hive 保存数据hive保存数据用的是linux下的重定向。新建一个hive查询,通过>重定向到文件hive -e "select dt, count(*), sum(realcost) from tablename...

2018-05-24 14:43:12 2598

转载 在SublimeText中一键去掉所有注释

1、将下面的 Python 代码保存到 Packages/User 目录下(可以通过点击 Preferences -> Browse Packages 进入 Packages 目录,然后再进入 User 目录),并命名为 remove_comments.py。import sublime_plugin class RemoveCommentsCommand(sublime_plugin....

2018-05-23 10:46:20 4600

原创 Hive导入导出数据(本地,hdfs,其他表)

从本地导入hive> LOAD DATA LOCAL INPATH '/home/username/hivedata/source.txt' INTO TABLE tablename PARTITION(create_time='2018-01-01'); 导出到本地--不能使用insert into local directory来导出数据,会报错--只能使用insert overwri...

2018-05-22 11:22:40 2499

原创 Python单双三引号的使用

引号出问题,无非就是 发现有的时候需要转义。很麻烦。其实单引号双引号三引号都是拿来包裹字符串的。看到一篇博客中说的很有道理,适用于一般场景:如果你需要输入一段带单引号的字符串,那么使用双引号包裹字符串吧:s1 = "Let's go!"如果你需要输入一段带双引号的字符串,那么使用单引号包裹字符串吧:s2 = 'I love "L-O-V-E"!'如果你说,我全都要!我不仅要引号,我还要回车,我还...

2018-05-21 15:52:44 583

原创 hive跨库读取数据出现的bug记录

场景在mysql查询数据,并保存到临时文件。然后在hive中读取数据时,发现存在一个异常数据,其string类型字段的值都为字段名,double类型的字段的值都为0。分析原因应该是mysql保存数据时,保存了表头,然后hive读取时,将表头当做一条数据读取了。解决方案:LOAD DATA INFILE '/tmp/test.txt' INTO TABLE test IGNORE 1 LINES; ...

2018-05-15 09:59:56 1536

原创 Hive中JOIN的用法以及一些注意事项总结。

常见用法Hive表连接的语法支持如下:join_table:      table_reference JOIN table_factor [join_condition]    | table_reference {LEFT|RIGHT|FULL} [OUTER] JOIN table_reference join_condition    | table_reference LEFT SEMI...

2018-05-15 09:52:39 6890

原创 Shell下关于时间和日期的函数总结

shell下获取系统时间的方法直接调用系统变量 获取今天时期:`date +%Y%m%d` 或 `date +%F` 或 $(date +%y%m%d) 获取昨天时期:`date -d yesterday +%Y%m%d` 获取前天日期:`date -d -2day +%Y%m%d` 依次类推比如获取10天前的日期:`date -d -10day +%Y%m%d` 或n天前的 `date -d "...

2018-05-11 10:26:51 1309

转载 Java8系列之重新认识HashMap

摘要HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。简介Java为数据结构中的映射定义了一个接口java.util.Map,此接口...

2018-04-16 15:03:57 125

原创 java技术面试基础知识点总结

建议点开目录先读题。目录1.面向对象和面向过程的区别2. Java的四个基本特性(抽象、封装、继承,多态)3. 重载和重写的区别4. 构造器Constructor是否可被override5. 访问控制符public,protected,private,以及默认的区别6. 是否可以继承String类7. String和StringBuffer、StringBuilde...

2018-04-12 16:20:14 411

转载 knn算法及其具体实现k-dtree

最近邻法和k-近邻法  下面图片中只有三种豆,有三个豆是未知的种类,如何判定他们的种类?  提供一种思路,即:未知的豆离哪种豆最近就认为未知豆和该豆是同一种类。由此,我们引出最近邻算法的定义:为了判定未知样本的类别,以全部训练样本作为代表点,计算未知样本与所有训练样本的距离,并以最近邻者的类别作为决策未知样本类别的唯一依据。但是,最近邻算法明显是存在缺陷的,比如下面的例子:有一个未知形状(图中绿色...

2018-04-12 14:48:42 689

原创 kmeans算法及其改进算法K-means++,ISODATA和Kernel K-means

首先需要明确的是上述四种算法都属于"硬聚类”算法,即数据集中每一个样本都是被100%确定得分到某一个类别中。与之相对的"软聚类”可以理解为每个样本是以一定的概率被分到某一个类别中。先简要阐述下上述四种算法之间的关系,已经了解过经典K-means算法的读者应该会有所体会。没有了解过K-means的读者可以先看下面的经典K-means算法介绍再回来看这部分。 K-means与K-means++:原始K...

2018-04-12 14:41:08 11496 2

原创 Java基类和派生类中方法的执行顺序

这篇文章主要介绍了Java基类和派生类中各种方法的加载顺序(常见于面试题),本文直接给出代码实例和运行结果,给后给出了加载过程总结,需要的朋友可以参考下。先放结论,总结如下:1. 构造类的实例对象前,先加载类本身。2.若要加载类A,则先加载执行其父类B)的静态变量以及静态语句块(执行先后顺序按排列的先后顺序)。然后再加载执行类A的静态变量以及静态语句块。(并且对于所有的A的对象,加载A(及B)只会...

2018-04-02 14:17:00 903

原创 18网易春招笔试题-牛牛的背包-记忆化搜索

/* 牛牛准备参加学校组织的春游, 出发前牛牛准备往背包里装入一些零食, 牛牛的背包容量为w。 牛牛家里一共有n袋零食, 第i袋零食体积为v[i]。 牛牛想知道在总体积不超过背包容量的情况下,他一共有多少种零食放法(总体积为0也算一种放法)。 输入描述: 输入包括两行 第一行为两个正整数n和w(1 <= n <= 30, 1 <= w <= 2 * 10^9),表示零食的数...

2018-03-28 17:47:33 1301 1

原创 LeetCode 接雨水 Trapping Rain Water 积水问题

中文题目使用两根指针:给定 n 个非负整数表示每个宽度为1的柱子的高度图,计算下雨之后能接多少水。给定 n 个非负整数表示每个宽度为1的柱子的高度图,计算下雨之后能接多少水。例如,输入 [0,1,0,2,1,0,1,3,2,1,2,1],返回 6。上面的高度图由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示,在这种情况下,可以接 6 个单位的雨水(蓝色部分)。英文题目Given n...

2018-03-28 13:41:05 5272

原创 2018年春招网易笔试题-数对问题o(n-k)解法

题目描述牛牛以前在老师那里得到过一个整数对(x,y),牛牛忘记他们具体是多少了,只记得老师说过,x和y均不大于n,且x%y不小于k,牛牛希望你能帮他计算一共有多少种可能的整数对。输入描述:两个整数n,k。其中1<=n<=10^5, 0<=k<=n-1输出描述:输出可能的正整数对的个数。思路:暴力破解所有整数对,需要o(n^2),会超时。其实是个数学问题:1. y必然大于k,...

2018-03-28 11:41:11 882

原创 京东广告部散招面试

一面    先问了项目。关注了商秀app问题:Q:后台是如何将所有模板和实际图片作比对的。A:是用类似LRUcache的方式。最近访问的放队头。然后逐一比对。    然后问了Java相关的:Q:你对多线程并发编程了解多少?A:核心是通过锁的思想解决并发情况下的问题,乐观锁(其实不是加锁),悲观锁(真正的加锁)。回答了synchronized,violate 这俩关键字。回答了线程的几种状态。wai...

2018-03-27 17:30:42 915 2

原创 Spark和MapReduce的Shuffle比较。

熟悉 Hadoop MapReduce 中的 shuffle 过程,学习Spark的时候可能会按照 MapReduce 的思路去想象 Spark 的 shuffle 过程。然而,它们之间有一些区别和联系。        1.从整体功能上看,两者并没有大的差别。 都是将 mapper(Spark 里是 ShuffleMapTask)的输出进行 partition,不同的 partition 送到不同...

2018-03-26 20:43:21 1457

原创 11. 盛最多水的容器 Container With Most Water

中文题目:给定 n 个正整数 a1,a2,...,an,其中每个点的坐标用(i, ai)表示。 画 n 条直线,使得线 i 的两个端点处于(i,ai)和(i,0)处。请找出其中的两条直线,使得他们与 X 轴形成的容器能够装最多的水。注意:你不能倾斜容器,n 至少是2。英文题目:Given n non-negative integers a1, a2, ..., an, where each rep...

2018-03-26 20:13:03 635

转载 B树、B+树、B*树

第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找...

2018-03-26 17:14:50 548

空空如也

空空如也

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

TA关注的人

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