Spark SQL使用时需要有若干“表”的存在,这些“表”可以来自于Hive,也可以来自“临时表”.如果“表”来自于Hive,它的模式(列名.列类型等)在创建时已经确定,一般情况下我们直接通过Spark SQL分析表中的数据即可:如果“表”来自“临时表”,我们就需要考虑两个问题:   (1)“临时表”的数据是哪来的? (2)“临时表”的模式是什么?   通过Spark的官方文档可以了解到,生成一张“临时表”需要两个要素:   (1)关联着数据的RDD: (2)数据模式:   也就是说,我们需要将…
相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内置的各类UDF也为我们的数据处理提供了不少便利的工具,当这些内置的UDF不能满足于我们的需要时,Hive SQL或Spark SQL还为我们提供了自定义UDF的相关接口,方便我们根据自己的需求进行扩展.   在Hive的世界里使用自定义UDF的过程是比较复杂的.我们需要根据需求使用Java语言开发相…
相对于使用MapReduce或者Spark Application的方式进行数据分析,使用Hive SQL或Spark SQL能为我们省去不少的代码工作量,而Hive SQL或Spark SQL本身内置的各类UDF也为我们的数据处理提供了不少便利的工具,当这些内置的UDF不能满足于我们的需要时,Hive SQL或Spark SQL还为我们提供了自定义UDF的相关接口,方便我们根据自己的需求进行扩展.   在Hive的世界里使用自定义UDF的过程是比较复杂的.我们需要根据需求使用Java语言开发相…
引言 在上一篇 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机) 和之前的大数据学习系列之二 ----- HBase环境搭建(单机) 中成功搭建了Hive和HBase的环境,并进行了相应的测试.本文主要讲的是如何将Hive和HBase进行整合. Hive和HBase的通信意图 Hive与HBase整合的实现是利用两者本身对外的API接口互相通信来完成的,其具体工作交由Hive的lib目录中的hive-hbase-handler-*.jar工具类来实现,通信原理如下图…
Spark工作机制以及API详解 本篇文章将会承接上篇关于如何部署Spark分布式集群的博客,会先对RDD编程中常见的API进行一个整理,接着再结合源代码以及注释详细地解读spark的作业提交流程,调度机制以及shuffle的过程,废话不多说,我们直接开始吧! 1. Spark基本API解读 首先我们写一段简单的进行单词统计的代码,考察其中出现的API,然后做出整理: import org.apache.spark.SparkConf; import org.apache.spark.api.j…
sql注入攻击详解(二)sql注入过程详解 sql注入攻击详解(一)sql注入原理详解 我们了解了sql注入原理和sql注入过程,今天我们就来了解一下sql注入的解决办法.怎么来解决和防范sql注入,由于本人主要是搞java web开发的小程序员,所以这里我只讲一下有关于java web的防止办法.其实对于其他的,思路基本相似.下面我们先从web应用程序的角度来看一下如何避免sql注入: 1.普通用户与系统管理员用户的权限要有严格的区分.   如果一个普通用户在使用查询语句中嵌入另一个Drop …
Spark Streaming性能调优详解 Spark  2015-04-28 7:43:05  7896℃  0评论 分享到微博   下载为PDF 2014 Spark亚太峰会会议资料下载.<Hadoop从入门到上手企业开发视频下载[70集]>.<炼数成金-Spark大数据平台视频百度网盘免费下载>.<Spark 1.X 大数据平台V2百度网盘下载[完整版]>.<深入浅出Hive视频教程百度网盘免费下载> 转发微博有机会获取<Spark大数据分析实战…
Hive 的collect_set使用详解   https://blog.csdn.net/liyantianmin/article/details/48262109 对于非group by字段,可以用Hive的collect_set函数收集这些字段,返回一个数组: 使用数字下标,可以直接访问数组中的元素: select a,collect_set(b) as bb from t where b<='xxxxxx' group by a 会按照a分组 通过collect_set会把每个a所对应的…
为什么说JAVA中要慎重使用继承   这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两个无法回避的缺点: 打破了封装性,子类依赖于超类的实现细节,和超类耦合. 超类更新后可能会导致错误. 继承打破了封装性 关于这一点,下面是一个详细的例子(来源于Effective Java第16条) public class MyHashSet<E> extends HashSet<E>…
详解Python编程中基本的数学计算使用 在Python中,对数的规定比较简单,基本在小学数学水平即可理解. 那么,做为零基础学习这,也就从计算小学数学题目开始吧.因为从这里开始,数学的基础知识列位肯定过关了.     上面显示的是在交互模式下,如果输入 3,就显示了 3,这样的数称为整数,这个称呼和小学数学一样. 如果输入一个比较大的数,第二个,那么多个 3 组成的一个整数,在 Python 中称之为长整数.为了表示某个数是长整数,Python 会在其末尾显示一个L.其实,现在的 Python…