![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
大数据
帮我消消黑眼圈!
敬畏每一行代码
展开
-
程序员节你们公司都有什么活动
现在公司组织线下活动,下午出去hi皮,还有聚餐,nice!之前的公司就发了个苹果,在上面写了少写bug之类的话,原创 2022-10-24 10:46:29 · 2588 阅读 · 1 评论 -
clickhouse学习笔记
最近比较忙,懒得写;https://www.infoq.cn/article/vgabiodeum87hv6x8qll 快手实践https://developer.aliyun.com/article/762089?spm=a2c6h.12873639.0.0.2ab34011TCYHElhttps://segmentfault.com/a/1190000039292250好未来实践https://dbaplus.cn/news-73-2939-1.html趣头条实践https:/...原创 2021-06-02 20:00:53 · 2633 阅读 · 0 评论 -
某某跳动公司的面试hivesql题目
题干某APP需要对最近连续登录3天以上的用户做消息推送,现有用户登录信息表user_login,请用sql按照登录时间倒序筛选出最近的一次连续登录4天以上的用户以及连续登录的开始日期和截止日期。select user_id,login_days,min_login_date,max_login_datefrom ( select user_id,login_days,min_login_date,max_login_date, case when data_sub(max_st.原创 2020-12-12 19:56:03 · 196 阅读 · 0 评论 -
利用hive映射表完成hbase的批量删除操作
1.创建hive的hbase的映射表(我使用的是阿里云大数据平台,hbase的相关jar以及配置文件已经拷贝到hive相应的目录下面,该步骤省略)CREATE EXTERNAL TABLE `xxxxxxxxx`( `keyid` string COMMENT 'from deserializer', `action` string COMMENT 'from deserializer') ROW FORMAT SERDE 'org.apache.hadoop.hive....原创 2020-10-15 20:56:54 · 548 阅读 · 0 评论 -
彻底解决错误(Incorrect string value: ‘\xF0\x9F\x98\xA3\xF0\x9F...‘ for column ‘realname‘)saprk-mysql
问题描述用spark同步mongo的数据存到mysql中,偶遇字段realname的值中有个表包含Emoji表情或者某些特殊字符,导致数据写不到mysql中 ----任务失败;一开始错误的思路是找到这条数据把它给过滤掉,try试了n多次依旧不好使,不得已只能换个思路继续搬砖,打开我们万能的github问题才得以解决。github的项目地址:https://github.com/cattom114/emoji-java解决步骤1、 在pom文件中一如依赖 ...原创 2020-09-13 15:57:43 · 3721 阅读 · 0 评论 -
com.mongodb.spark.exceptions.MongoTypeConversionException: Cannot cast INT32 into a NullType的解决
mogo原生数据用spark取抽取过来之后老是报这个错误Cannot cast INT32 into a NullType类型转换异常阅读官方文档:mogo为非关系型数据库,相同的字段会存不同的类型的值,sampleSize这个参数在抽取的时候会默认取1000个样本,null的数据到达一定数量以后就会将原来的int转为null,从而出现以上错误,(具体是多少数量未知),...原创 2019-11-21 09:24:26 · 1281 阅读 · 0 评论 -
scala的mkString方法
本人最近写了一段很low的代码,代码如下val username: Array[Row] = click_time.select("username").collect()for (i <- 0 until username.length){ id.append("'"+username(i)+"',") }val usernames=id.dropRight(1).toString(). replaceAll("\\[","").原创 2020-06-21 10:54:45 · 685 阅读 · 0 评论 -
scala一行代码实现经典实例wordcount
原始代码import org.apache.spark.rdd.RDDimport org.apache.spark.{SparkConf, SparkContext}object WorldCount { def main(args: Array[String]): Unit = { val conf =new SparkConf() //设置本地运行 ...原创 2019-05-21 21:12:58 · 1181 阅读 · 0 评论 -
有人第一次把SparkCore说的这么明白!!!!
RDD概念RDD(Resilient Distributed Dateset),弹性分布式数据集。RDD的五大特性:RDD是由一系列的partition组成的。 函数是作用在每一个partition(split)上的。 RDD之间有一系列的依赖关系。 分区器是作用在K,V格式的RDD上。 RDD提供一系列最佳的计算位置。RDD理解图:注意:textFile...原创 2019-05-22 15:09:50 · 920 阅读 · 2 评论 -
MapReduce作业提交流程(详解)
文章来源:知乎原文链接:职业法师刘海柱1、客户端,提交MapReduce作业2、YARN的资源管理器(Resource Manager),协调集群中计算资源的分配3、YARN的节点管理器(Node Manager),启动并监控集群中的计算容器4、MapReduce的Application Master,协调MapReduce作业中任务的运行。Applica...转载 2019-05-17 15:10:26 · 2830 阅读 · 0 评论 -
图解Spark的任务提交的四种方式
原创 2019-05-23 21:33:07 · 1229 阅读 · 0 评论 -
SparkStreaming数据处理过程
简介SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展、高吞吐量、容错的实时数据流处理,实时数据的来源可以是:Kafka, Flume, Twitter, ZeroMQ或者TCP sockets,并且可以使用高级功能的复杂算子来处理流数据。例如:map, reduce, join, window 。最终,处理后的数据可以存放在文件系统,数据库等,方便实时展现。...原创 2019-05-30 22:13:15 · 1101 阅读 · 0 评论 -
spark的二次排序(封装对象)
二次排序原理Spark中大于两列的排序都叫二次排序,二次排序就是首先按照第一字段排序,然后再对第一字段相同的行按照第二字段排序,注意不能破坏第一次排序的结果,本文采用封装对象的编程思想进行二次排序,大大简化的代码的复杂度。废话少说,上代码...实践是检验真理的唯一标准.......java代码实现:package qq1;import org.apache.spark...原创 2019-05-28 21:39:42 · 756 阅读 · 1 评论 -
RDD的五大特性及注意事项
(Resilient Distributed Dateset),弹性分布式数据集1. RDD由一系列的partition组成,有多少个partition就有多少个task;2. 函数作用在每个partition(split)上;3. RDD有一系列的依赖关系; 子RDD的数据来源为父RDD4. 分区器作用在(K,V)键值对的RDD上;5. RDD提供一系列的最佳计算位置...原创 2019-06-09 14:46:42 · 795 阅读 · 0 评论 -
Spark与MapReduce的区别(全)
1.Spark基于可以基于内存处理数据,Job中间输出结果可以保存在内存中,从而不再需要读写HDFS。2.Spark中有DAG有向无环图。3.Spark存储数据可以指定副本个数,MR默认3个。4.Spark中提供了各种场景 的算子,MR中只有map ,reduce 相当于Spark中的map和reduceByKey两个算子。5.Spark 是粗粒度资源申请,Application执行...原创 2019-06-04 20:19:10 · 1850 阅读 · 0 评论 -
MapReduce的combiner (经典实例wordcount带你get combiner, 此文绝对精辟...)
一个MapReduce的job,在map之后,reduce之前,会有一个数据聚集的过程,即map完的数据会按照key聚集在一起,会有一个shuffle的过程,然后再进入reduce。combiner好处:降低shuffle write写磁盘的数据量。 降低shuffle read拉取数据量的大小。 降低reduce端聚合的次数。在不同的节点上的map会将同一个key的数据传输到同一个...原创 2019-05-20 20:35:18 · 1004 阅读 · 0 评论 -
你想知道关于hive的所有东西都在这了
官方教程工作中经常用到的SQL语句,原来都在这里...有了这个链接,工作用到hive就不用愁了...传送门:https://cwiki.apache.org/confluence/display/Hive/Tutorial#Tutorial-Dynamic-PartitionInsert...原创 2019-05-19 12:41:12 · 265 阅读 · 0 评论 -
常用hive操作
1、创建数据库create database mydb;create database if not exists mydb;create database if not exists mydb location "/usr";2、查询数据库查询库列表:show databases;查询库详细信息:desc database [extended] mydb;查询建库...原创 2019-04-24 22:15:17 · 209 阅读 · 0 评论 -
HDFS架构简述(模块功能)
1. NameNode(管理文件系统的命名空间) 1). 文件和目录的元数据: 文件的block副本个数 &nb...原创 2019-04-07 13:02:49 · 958 阅读 · 0 评论 -
Hadoop HA原理详解
一、手动切换:1、一个NanmeNode进程处于Acrive状态,另一个NameNode处于Standby状态.Active的NameNode负责处理客户端的请求.2、Active的NN修改了元数据之后,会在JNs的半数以上的节点上记录这个日志。Standby状态的NameNode会监视任何对JNs上edit log的更改。一旦edits log出现更改,Standby的NN就会根据edits...原创 2019-04-09 09:07:58 · 828 阅读 · 0 评论 -
HDFS读写文件流程详解
一、 HDFS读文件流程 1、客户端通过FileSystem对象的open方法打开希望读取的文件,DistributedFileSystem对象通过RPC调用namenode,以确保文件起始位置。对于每个block,namenode返回存有该副本的datanode地址。这些datanode根据它们与客户...原创 2019-04-09 10:12:22 · 1112 阅读 · 0 评论 -
Zookeeper功能以及工作原理详解
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。一、 特点二、zookeeper投票...原创 2019-04-15 20:52:51 · 773 阅读 · 0 评论 -
从源码的角度带你走进MapReduce的世界!!!
前言 本文主要内容: 一、角色及功能 &...原创 2019-04-13 12:53:58 · 625 阅读 · 0 评论 -
论Redis持久化
Redis支持RDB和AOF两种持久化机制。持久化功能有效地避免因进程退出造成的数据丢失问题,下次重启时利用之前持久化的文件即可实现数据恢复。 Redis持久化方式: &n...原创 2019-04-21 15:58:30 · 137 阅读 · 0 评论 -
ElasticSearch——RESTful接口+核心概念
前言ES使用了倒排索引(inverted index),该结构对于全文检索非常快。倒排索引包括一个在任意文档中出现的唯一性的词语列表,对于每个词语,都有一个它出现过的文档列表。倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted in...原创 2019-04-21 17:18:12 · 1176 阅读 · 0 评论 -
Redis字符串(string)操作详解
序言 Redis的string操作是日常工作中用的比较多的操作,熟记最好,但就是记不住,哎,就只有多看几遍了!## 字符串一种最基本的Redis值类型(字节数组)。Redis字符串是**二进制**安全的,一个Redis字符串能包含任意类型的数据。例如: 一张JPEG格式的图片或者一个序列化的Ru...原创 2019-04-17 21:44:19 · 349 阅读 · 0 评论 -
Storm (容错机制、DRPC、事务)
一、Storm 容错机制1、集群节点宕机Nimbus服务器 : 单点故障非Nimbus服务器 : 故障时,该节点上所有Task任务都会超时,Nimbus会将这些Task任务重新分配到其他服务器上运行。2、进程挂掉Worker:挂掉时,Supervisor会重新启动这个进程。如果启动过程中仍然一直失败,并且无法向Nimbus发送心跳,Nimbus会将该Worker重新分配到其他服...原创 2019-04-22 20:45:45 · 351 阅读 · 0 评论 -
Hive性能优化大全
核心思想:是将hive程序当做mapreduce程序进行优化;hive中sql语句转化为MapReduce的过程,整个编译过程分为6个阶段:1).Antlr定义Sql的语法规则,完成SQL词法,语法解析,将SQL转化为 抽象语法树AST Tree。2).遍历抽象语法树AST Tree,抽象出查询的基本组成单元 QueryBlock查询块。3).遍历QueryBlock,翻译为...原创 2019-04-27 14:04:15 · 499 阅读 · 0 评论 -
Hbase数据模型
表(table):表的作用将存储在HBase的数据组织起来。行健(rowkey):行的唯一标示类似于主键; 按照字典序进行排序储存;最大长度是64KB,但是建议长度是10-100byte.列族(column family):在行中的数据都是根据列族分组;在hbase想要使用列,必须要指定列族,列必须要归属于某一个列族;列族需要在表定义的时候预先给出,...原创 2019-04-27 17:54:44 · 1608 阅读 · 0 评论 -
Storm计算模型——java(模拟实现经典案例)
一、storm计算模型1、Topology – DAG有向无环图的实现对于Storm实时计算逻辑的封装,即,由一系列通过数据流相互关联的Spout、Bolt所组成的拓扑结构生命周期:此拓扑只要启动就会一直在集群中运行,直到手动将其kill,否则不会终止(区别于MapReduce当中的Job,MR当中的Job在计算执行完成就会终止)2、Tuple – 元组Stream中最小数据组成...原创 2019-04-18 19:42:12 · 871 阅读 · 0 评论 -
秒懂Hive架构!!!
Hive简介Hive是为了简化用户编写MapReduce程序而生成的一种框架,Hive是建立在Hadoop之上的数据仓库基础构架、是为了减少MapReduce编写工作的批处理系统,Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce。Hive可以认为是MapReduce的一个封装、包装。Hive的体系结构可以分为以下几个部分:①用户接口:包括shell命令、J...原创 2019-04-23 21:23:44 · 3375 阅读 · 1 评论 -
HBase架构及其读写流程
一、HBase架构Client包含访问HBase的接口并维护cache来加快对HBase的访问Zookeeper保证任何时候,集群中只有一个活跃master存贮所有Region的寻址入口。实时监控Region server的上线和下线信息。并实时通知Master存储HBase的schema和table元数据Master为Region server分配reg...原创 2019-04-29 08:43:47 · 692 阅读 · 0 评论 -
HBase看完这篇你还有什么不懂?(HBase API-1.2常用类及java代码实现)
一、基本类1、Admin类管理可以用于创建、删除、列出、启用和禁用表、添加和删除表列族以及其他管理操作。2、Connection接口一个集群连接,封装了与实际服务器的低级别单独连接以及与zookeeper的连接。 连接通过ConnectionFactory类实例化。 连接的生命周期由调用者管理,使用后必须调用close()连接以释放资源。连接实现是线程安全的,因此客户端可以创建...原创 2019-05-04 21:14:55 · 1503 阅读 · 4 评论 -
【教程】手把手教你——HDFS伪分布式搭建,你没注意的那些坑都在此文!!!
1、搭建虚拟机4台,今天用一台2、网络配置好,关闭iptables防火墙,关闭selinux3、上传这两个包 start-dfs.shjdk1.7.0_80(jdk版本) hado...原创 2019-04-06 13:35:52 · 160 阅读 · 0 评论