dashabiooo
码龄14年
关注
提问 私信
  • 博客:31,171
    31,171
    总访问量
  • 36
    原创
  • 1,499,085
    排名
  • 1
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:山东省
  • 加入CSDN时间: 2010-12-04
博客简介:

dashabiooo的博客

查看详细资料
个人成就
  • 获得4次点赞
  • 内容获得2次评论
  • 获得31次收藏
创作历程
  • 1篇
    2017年
  • 12篇
    2016年
  • 24篇
    2015年
TA的专栏
  • hadoop
    8篇
  • Java
    15篇
  • 数据库
    5篇
  • spark
    2篇
  • hive
    4篇
  • parquet
    2篇
  • impala
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

数据库范式(1NF,2NF,3NF,BCNF)

数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 范式说明 1.1 第一范式(1NF)无重复的列     所谓第一范式(1NF)是指数据库表的每一...
原创
发布博客 2017.02.21 ·
195 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

impala学习总结

 Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。那么Impala如何实现大数据的快速查询呢?在回答这...
原创
发布博客 2016.12.19 ·
459 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据存储text转parquet及引发的OOM问题

1.数据转parquet的后效果 table1为textfile格式存储的表,分区20161122转换之前大小约400M,分别以parquet无压缩,parquet snappy压缩和parquet gzip压缩,转换到parquet格式的表table1_parquet的20161122,20161123,20161124三个分区。(1)insert into table1_p...
原创
发布博客 2016.12.04 ·
885 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

解压parquet格式文件到text

方法一:spark python实现import sysfrom pyspark import SparkConf, SparkContextfrom pyspark.sql import SQLContextinputpath=sys.argv[1]outputpath=sys.argv[2]sc = SparkContext(appName="Transform Pq to Csv")...
原创
发布博客 2016.11.15 ·
3127 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Hive中小表与大表关联(join)的性能分析

经常看到一些Hive优化的建议中说当小表与大表做关联时,把小表写在前面,这样可以使Hive的关联速度更快,提到的原因都是说因为小表可以先放到内存中,然后大表的每条记录再去内存中检测,最终完成关联查询。这样的原因看似合理,但是仔细推敲,又站不住脚跟。 多小的表算小表?如果所谓的小表在内存中放不下怎么办?我用2个只有几条记录的表做关联查询,这应该算是小表了,在查看reduce的执行日志时依然...
原创
发布博客 2016.10.26 ·
1663 阅读 ·
2 点赞 ·
1 评论 ·
5 收藏

Hive Map Side Join解析

通常Hadoop在做join策略的时候会有两种方式map-side join(也叫replication join)和reduce-side join(也叫repartition join或者common join) 1.  reduce side join 利用了mapreduce框架的sort-merge机制来使得相同key的数据聚合在一起,在map阶段会分别读取输入dat...
原创
发布博客 2016.10.26 ·
402 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

hive in/not in替换以及hive join优化

目前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含一个字段,uid。 in查询如果要查询当天登陆的注册用户,需要用in查询,hive sql如下:select login.uid fr...
原创
发布博客 2016.10.26 ·
6462 阅读 ·
1 点赞 ·
1 评论 ·
12 收藏

hive严格模式

strict模式在下面三种情况下有限制: (1) partition表需要加上分区裁剪 (2) order by 只有一个reduce,需要加上limit (3) join时,如果只有一个reduce,笛卡尔积不支持。         补上几刀:经试验hive 1.6严格模式开启之后,不支持一下两种查询(1)in/not in子查询,使用left join 替换(2)两个分区表...
原创
发布博客 2016.10.25 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spark命令行解析与找不到类scopt.OptionParser

问题一:解析spark-submit命令行参数的时候用到了第三方包scopt,该包需要引入<dependency> <groupId>com.github.scopt</groupId> <artifactId>scopt_2.10</artifactId> <version>3.2.0</ve...
原创
发布博客 2016.10.12 ·
1932 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

spark命令行解析与找不到类scopt.OptionParser

问题一:解析spark-submit命令行参数的时候用到了第三方包scopt,该包需要引入<dependency> <groupId>com.github.scopt</groupId> <artifactId>scopt_2.10</artifactId> <version>3.2.0</ve...
原创
发布博客 2016.10.12 ·
1932 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据分析笔记

 (1)去除两个字段相同的重复的记录delete from 表 a where exists (select 1 from 表 where 数据b=a.数据a and 数据a=a.数据b and 数据a<a.数据b)(2)行转列姓名 课程 分数---------- ---------- -----------张三 语文 ...
原创
发布博客 2016.08.08 ·
274 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PostGre/GreenPlum中interval在循环中的使用

格式:select current_date, current_date + interval ' 2days';错误用法:select current_date, current_date + interval  2 || ' days';  报错select current_date, current_date + interval  '2' || ' days'; 时间没...
原创
发布博客 2016.08.08 ·
1887 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

为什么要用存储过程

存储过程说白了就是一堆 SQL 的合并。中间加了点逻辑控制。但是存储过程处理比较复杂的业务时比较实用。比如说,一个复杂的数据操作。如果你在前台处理的话。可能会涉及到多次数据库连接。但如果你用存储过程的话。就只有一次。从响应时间上来说有优势。也就是说存储过程可以给我们带来运行效率提高的好处。另外,程序容易出现 BUG 不稳定,而存储过程,只要数据库不出现问题,基本上是不会出现什么问题的。也就...
原创
发布博客 2016.07.19 ·
121 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java实现几种常见排序方法

package test.sort; import java.util.Random; //Java实现的排序类 public class NumberSort { //私有构造方法,禁止实例化 private NumberSort() { super(); } //冒泡法排序 ...
原创
发布博客 2016.02.24 ·
155 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

SQL中存储过程和函数的区别

本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。      函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少       1.    一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。       2....
原创
发布博客 2015.09.28 ·
467 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

SQL中存储过程和函数的区别

本质上没区别。只是函数有如:只能返回一个变量的限制。而存储过程可以返回多个。而函数是可以嵌入在sql中使用的,可以在select中调用,而存储过程不行。执行的本质都一样。      函数限制比较多,比如不能用临时表,只能用表变量.还有一些函数都不可用等等.而存储过程的限制相对就比较少       1.    一般来说,存储过程实现的功能要复杂一点,而函数的实现的功能针对性比较强。       2....
原创
发布博客 2015.09.28 ·
467 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

使用 Hive 作为传统 ELT 工具的替代

Apache Hive 数据仓库软件有助于查询和管理位于分布式存储中的大型数据集。对于 ETL 而言,Hive 是一个强大的工具,而对于 Hadoop,它既是数据仓库,也是 Hadoop 的数据库。不过,相对于传统的数据库,它是相对缓慢的。它没有提供所有的 SQL 特性,甚至没有提供与传统的数据库相同的数据库特性。但它支持 SQL,它的确像一个数据库那样工作,它让更多的人(即使那些不是程序员的人...
原创
发布博客 2015.09.28 ·
610 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Hadoop 目前只是“穷人的 ETL”

虽然企业部署Hadoop大数据系统的最终目的是进行“性感”的分析应用,但是大多数企业距离这一目标还很远很远。根据IDC发布的Hadoop-MapReduce软件生态系统预测报告,Hadoop 市场正在以60%的年复合增长率高速扩张。但是该报告也揭示了一个让人吃惊的事实,作为大数据分析应用的代名词,Hadoop的流行其实与数据分析无关。 实际上大多数采用Hadoop的公司都没有将Hadoop用...
原创
发布博客 2015.09.28 ·
213 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

位图应用场合

位图主要用于快速检索关键字状态,通常要求关键字是一个连续的序列(或者关键字是一个连续序列中的大部分),最基本的情况,使用1bit标示一个关键字的状态(可标示两种状态),但根据需要也可以使用2bit(标示4种状态),3bit(标示8种状态),当一个状态标示需要的位数达到32bit时,就演变成来一个整型数组了。 位图的主要应用场合:标示连续(或接近连续,即大部分会出现)的关键字序列的状态(状...
原创
发布博客 2015.09.17 ·
1948 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

泛型使用注意事项

   参数化类型可以引用一个原始类型的对象,编译报告警告,例如,          Collection<String> c = new Vector();//可不可以,不就是编译器一句话的事吗?          原始类型可以引用一个参数化类型的对象,编译报告警告,例如,          Collection c = new Vector<String>();//...
原创
发布博客 2015.09.17 ·
215 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多