- 博客(11)
- 收藏
- 关注
原创 数据仓库,Hive中使用 不等于 符号进行条件过滤时的坑
最近在建设数据仓库,处理数据的过程中,经常反复使用hive的HQL语句,尽管HQL和SQL语言有很多相同之处,但也并不是说HQL就能通用SQL的语法。在使用过程中要尤为注意。事情经过是这样的,我在把业务系统数据同步到数仓(数据存储在Hive)中时,在数据汇总层(DWS),对数据进行汇总处理时,发现有数据丢失的问题,经过排查,发现是在使用 <> 引发的坑。Hive 中 != 或 <> 致命陷阱业务场景:把业务数据抽到ODS层(原始数据层)、在DWS层(数据汇总层),对多张多.
2020-06-13 12:52:07
2381
1
原创 大数据Spark面试,distinct去重原理,是如何实现的
最近,有位朋友问我,distinct去重原理是怎么实现的?“在面试时,面试官问他了解distinct算子吗?”“了解啊,Spark的rdd,一种transFormation去重的算子,主要用来去重的”。“哟,看来你经常使用distinct算子,对distinct算子很熟悉啊”。“好说,好说”。“那你能说说distinct是如何实现去重的吗?”我朋友支支吾吾半天:“就是这样、那样去重的啊”。“这样、那样是怎么去重的呢”“具体有点忘记了(其实是根本就不知道)”。那么disti
2020-06-07 13:15:28
2179
原创 Hive Sql常用的时间处理类,都在这里了
hive 常用日期格式转换把固定日期转换成时间戳select unix_timestamp('2020-05-29','yyyy-MM-dd') --返回结果 1590681600select unix_timestamp('20200529','yyyyMMdd') --返回结果 1590681600select unix_timestamp('2020-05-29T13:12:23Z', "yyyy-MM-dd'T'HH:mm:ss'Z'") --返回结果 1590729143.
2020-06-01 20:56:00
728
原创 大数据 Hive 类Sql语法,Hql Join语法详解
一、HIVE SQL 语法SELECT[ALL|DISTINCT]select_expr,select_expr,...FROMtablename[WHEREwhere_condition]--where条件语句[GROUPBYcol_list]--groupby分组语句[ORDERBYcol_list]--orderby排序语句[CLUSTERBYcol_list|[DISTRIBUTEBYcol_list][S...
2020-05-30 17:58:46
923
原创 大数据,Spark之RDD,RDD详细讲解(二)
一、RDD的特性Spark之所以成为目前比较主流的大数据处理技术,其中RDD的特性和机制占到很大比重,没有RDD的这些机制,Spark性能会大打折扣。总体而言,Spark采用RDD后能够实现高效计算的主要原因有以下几点:1、高效的容错机制。现有的分布式共享内存、键值存储、内存数据库等,为了实现容错,必须在集群节点之间进行数据复制(主从复制)或者记录日志。这就造成各个节点之间大量数据传输,这对于数据密集型应用而言会带来很大的开销。而在设计RDD的过程中,赋予RDD数据只读的能力,不可被修改。如
2020-05-27 22:28:21
1138
原创 大数据技术,Spark之RDD,RDD详细讲解(一)
一、RDD为什么出现?在实际开发应用中,存在许多迭代式计算,这些应用场景的共同之处是,不同计算阶段之间会重用中间结果,即一个阶段的输出结果会作为下一个阶段的输入。以前常用的MapReduce框架是把中间结果写入到HDFS中,带来了大量的数据复制、磁盘IO和序列化开销。如果有一种方法,能将结果保存在内存当中,就可以大量减少IO消耗。RDD一种弹性分布数据集,就是为了满足这种需求而出现的,它提供了一个抽象的数据架构,我们不必担心底层数据的分布式特性,只需将具体的应用逻辑表达为一系列转换处理.
2020-05-26 21:57:35
1642
原创 SparkSql写hdfs报权限错误BUG解决
今天在往hive中写数据时,使用的save方法直接把数据写入到hdfs目录,结果报错。场景:在本地使用IDEA开发进行远程提交,把结果数据写入到HIVE。写入的方法:df.write.mode(SaveMode.Append).save("hdfs://apps/hive/warehouse/info_test.db/result")出现的错误:org.apache.hadoop.se...
2019-11-23 17:39:28
1016
原创 Java入门知识总结(2)
Java程序的分类:主要分为两种1.java应用程序,这个程序中包含主类。2.java小程序。初学者如何开发第一个java程序呢?开发java程序首先需要安装jdk,Java入门知识总结(1)已经有详细步骤。需要配置环境变量。意义:告诉操作系统到哪里去找可执行文件javac.exe和java.exe。完成以上两步,需要按照如下步骤进行操作。新建一个txt文本文档,后缀名修改为 .j...
2019-11-05 16:20:32
159
原创 Java入门知识总结(1)
1.1 计算机语言发展历史计算机语言发展过程起初计算机只认识1和0;二进制文件。第一代:打孔机:机器连着一个纸带:打孔–1 不打孔–0机器识别这个孔,有孔识别为高电平(1),无孔识别为低电平(0)对程序员的要求非常高:必须对任何指令都相当熟悉 打错了不行 而且要对机器的底层特别的了解。第二代:发明了一些助记符:添加–1010 ---- add 加载 ---- load 而且要对机器...
2019-11-04 17:52:48
173
原创 大数据集群问题,spark打包集群运行时遇到的BUG。
在集群部署spark程序时,有两个BUG经常遇到。一个是jar冲突问题,一个是集群环境问题。两个BUG经常遇到,在这里记录一下。以后遇到类似的问题,能快速定位解决。一,spark JAR包集群运行报org.apache.hadoop.fs.FSDataInputStream错误。遇到这个错误,一般需要在根目录etc/spark/路径下的spark-env.sh文件中添加:export SPA...
2019-10-31 18:34:36
409
原创 hashcode相同,equals一定相同吗?
hashcode相同,equals一定相同吗?hashcode相同,equals一定相同吗?对于初学java的同学可能会感到疑惑,hashcode相同的话,equals肯定返回true呀?真是这样吗?其实不然,我们以HashMap为列?public class JavaMethod {public static void main(String[] args) { HashMap&...
2019-10-29 17:21:38
2091
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人