首页
学习
活动
专区
工具
TVP
发布

我是攻城师

专栏作者
492
文章
956331
阅读量
119
订阅数
使用Spark SQL的临时表解决一个小问题
最近在使用spark处理一个业务场景时,遇到一个小问题,我在scala代码里,使用spark sql访问hive的表,然后根据一批id把需要的数据过滤出来,本来是非常简单的需求直接使用下面的伪SQL即可: 但现在遇到的问题是id条件比较多,大概有几万个,这样量级的in是肯定会出错的,看网上文章hive的in查询超过3000个就报错了。 如何解决? 主要有两种解决方法: (一)分批执行,就是把几万个id,按3000一组查询一次,最后把所有的查询结果在汇合起来。 (二)使用join,把几万个id创建成一张hiv
我是攻城师
2018-05-14
2.5K0
理解数据仓库中星型模型和雪花模型
在数据仓库的建设中,一般都会围绕着星型模型和雪花模型来设计表关系或者结构。下面我们先来理解这两种模型的概念。 (一)星型模型图示如下: 星型模是一种多维的数据关系,它由一个事实表和一组维表组成。每个维表都有一个维作为主键,所有这些维的主键组合成事实表的主键。强调的是对维度进行预处理,将多个维度集合到一个事实表,形成一个宽表。这也是我们在使用hive时,经常会看到一些大宽表的原因,大宽表一般都是事实表,包含了维度关联的主键和一些度量信息,而维度表则是事实表里面维度的具体信息,使用时候一般通过join来组合数据
我是攻城师
2018-05-14
9.3K1
在scala中使用spark sql解决特定需求
Spark sql on hive的一个强大之处就是能够嵌在编程语言内执行,比如在Java或者Scala,Python里面,正是因为这样的特性,使得spark sql开发变得更加有趣。 比如我们想做一个简单的交互式查询,我们可以直接在Linux终端直接执行spark sql查询Hive来分析,也可以开发一个jar来完成特定的任务。 有些时候单纯的使用sql开发可能功能有限,比如我有下面的一个功能: 一张大的hive表里面有许多带有日期的数据,现在一个需求是能够把不同天的数据分离导入到不同天的es索引里面,方
我是攻城师
2018-05-14
1.3K0
Hive2.1.0集成Tez
Tez是什么? Tez是Hontonworks开源的支持DAG作业的计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升MapReduce作业的性能。Tez并不直接面向最终用户——事实上它允许开发者为最终用户构建性能更快、扩展性更好的应用程序 如何编译 Tez最新的版本是0.8.4,本文就记录下Tez的编译过程,之前的Tez版本都是源码包,最新的版本虽然提供了编译后的tar包,但是大部分情况下是针对特定的Hadoop版本,如果和我们的Hadoop版本不一致,可能某个时刻会出现一些未知的问题,所以为了
我是攻城师
2018-05-14
1.4K0
spark sql on hive笔记一
Spark sql on Hive非常方便,通过共享读取hive的元数据,我们可以直接使用spark sql访问hive的库和表,做更快的OLAP的分析。 spark 如果想直接能集成sql,最好自己编译下源码: 切换scala的版本为新版本 dev/change-scala-version.sh 2.11编译支持hive mvn -Pyarn -Phive -Phive-thriftserver -Phadoop-2.7.3 -Dscala-2.11 -DskipTests clean pac
我是攻城师
2018-05-14
1.1K0
hive自定义udf实现md5功能
Hive自定义UDF实现md5算法 Hive发展至今,自身已经非常成熟了,但是为了灵活性,还是提供了各种各样的 插件的方式,只有你想不到的,没有做不到的,主流的开源框架都有类似的机制,包括Hadoop,Solr,Hbase,ElasticSearch,这也是面向抽象编程的好处,非常容易扩展。 最近在使用hive1.2.0的版本,因为要给有一列的数据生成md5签名,便于查重数据使用,看了下hive的官网文档发现是支持的,后来在Hue里面试了下,发现不支持,还以为是Hue的问题于是在后台hive命令行里面试了下
我是攻城师
2018-05-14
2.6K0
开源大数据索引项目hive-solr
github地址:https://github.com/qindongliang/hive-solr 欢迎大家fork和使用 关于这个项目的介绍,请参考散仙前面的文章: http://qindongliang.iteye.com/blog/2283862 最新更新: (1)添加了对solrcloud集群的支持 (2)修复了在反序列时对于hive中null列和空值的处理bug (3)优化了在构建索引时对于null值和空值的忽略 一些测试: 数据量:约一千二百万,8个字段,其中一个是大
我是攻城师
2018-05-14
1.1K0
如何使用Hive集成Solr?
(一)Hive+Solr简介 Hive作为Hadoop生态系统里面离线的数据仓库,可以非常方便的使用SQL的方式来离线分析海量的历史数据,并根据分析的结果,来干一些其他的事情,如报表统计查询等。 Solr作为高性能的搜索服务器,能够提供快速,强大的全文检索功能。 (二)为什么需要hive集成solr? 有时候,我们需要将hive的分析完的结果,存储到solr里面进行全文检索服务,比如以前我们有个业务,对我们电商网站的搜索日志使用hive分析完后 存储到solr里面做报表查询,因为里面涉及到搜索
我是攻城师
2018-05-14
1.5K0
Hive使用ORC格式存储离线表
在大数据时代,列式存储变得越来越流行了,当然并不是说行式存储就没落了,只是针对的场景不同,行式存储的代表就是我们大多数时候经常用的数据库,比较适合数据量小,字段数目少,查询性能高的场景,列式存储主要针对大多数互联网公司中的业务字段数目多,数据量规模大,离线分析多的场景,这时候避免大量无用IO扫描,往往提高离线数据分析的性能,而且列式存储具有更高的压缩比,能够节省一定的磁盘IO和网络IO传输。 基础环境如下: Apache Hadoop2.7.1 Apache Hbase0.98.12 Apach
我是攻城师
2018-05-14
6K2
Hbase+Solr实现二级索引提供高效查询
接着上一篇介绍协处理器的文章http://qindongliang.iteye.com/blog/2277145,本篇我们来实战一个例子,看下如何使用协处理来给Hbase建立二级索引。 github地址:https://github.com/qindongliang/hbase-increment-index 业务需求: 现有一张Hbase的表,数据量千万级+,而且不断有新的数据插入,或者无效数据删除,每日新增大概几百万数据,现在已经有离线的hive映射hbase 提供离线查询,但是由于性能
我是攻城师
2018-05-14
2.9K0
Hive集成Tez让大象飞起来
基础环境 Apache Hadoop2.7.1 Centos6.5 Apache Hadoop2.7.1 Apache Hbase0.98.12 Apache Hive1.2.1 Apache Tez0.7.0 Apache Pig0.15.0 Apache oozie4.2.0 Apache Spark1.6.0 Cloudrea Hue3.8.1 安装Tez,请参考上篇文章:http://qindongliang.iteye.com/blog/2271440 安装成功之后
我是攻城师
2018-05-14
1.2K0
Spark SQL+Hive历险记
基础依赖环境 Apache Hadoop2.7.1 Apache Spark1.6.0 Apache Hive1.2.1 Apache Hbase0.98.12 (1)提前安装好scala的版本,我这里是2.11.7 (2)下载spark-1.6.0源码,解压进入根目录编译 (3)dev/change-scala-version.sh 2.11 修改pom文件,修改对应的hadoop,hbase,hive的版本 执行编译支持hive功能的spark (4)mvn -Pyarn
我是攻城师
2018-05-14
1.2K0
CDH-Hadoop2.6+ Apache Pig0.15安装记录
1,使用CDH的hadoop里面有对应的组件Pig,但版本较低,所以放弃使用了,直接下载 Apache Pig0.15最新的版本(支持Tez,比Hive更容易集成) 下载地址:http://archive.apache.org/dist/pig/pig-0.15.0/pig-0.15.0.tar.gz 直接下载二进制包即可 2,配置Pig的环境变量如下: #Pig export PIG_HOME=/ROOT/server/pig export PIG_CLASSPATH=$HADOO
我是攻城师
2018-05-11
5820
Pig0.15集成Tez,让猪飞起来
1,Tez是什么? Tez是Hortonworks公司开源的一种新型基于DAG有向无环图开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能,看下面一张图,就能说明问题
我是攻城师
2018-05-11
8090
玩转大数据系列之Apache Pig高级技能之函数编程(六)
已总结Pig系列的学习文档,点击末尾处,阅读原文即可查看所有,希望对大家有用,感谢关注! 在Hadoop的生态系统中,如果我们要离线的分析海量的数据,大多数人都会选择Apache Hive或Apache Pig,在国内总体来说,Hive使用的人群占比比较高, 而Pig使用的人相对来说,则少的多,这并不是因为Pig不成熟,不稳定,而是因为Hive提供了类数据库SQL的查询语句,使得大多人上手Hive非常容易,相反而Pig则提供了类Linux shell的脚本语法,这使得大多数人不喜欢使用。 如果在编程界
我是攻城师
2018-05-11
7930
Apache Pig如何与Apache Lucene集成?
在文章开始之前,我们还是简单来回顾下Pig的的前尘往事: 1,Pig是什么? Pig最早是雅虎公司的一个基于Hadoop的并行处理架构,后来Yahoo将Pig捐献给Apache(一个开源软件的基金组织)的一个项目,由Apache来负责维护,Pig是一个基于 Hadoop的大规模数据分析平台,它提供的SQL-like语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。Pig为复杂的海量数据并行计算提供了一个简 易的操作和编程接口,这一
我是攻城师
2018-05-11
1K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档