自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 Shlle面试题

Shlle面试题一、awk二、sed三、sort四、cut五、面试题一、awk二、sed三、sort四、cut五、面试题

2020-09-30 11:55:39 143

转载 Shell基础概览(下)

Shell基础概览(下)一、流程控制1. if-else2.for 循环3.while 语句4.无限循环5.until 循环6.case分支7.跳出循环二、重定向一、流程控制和Java、PHP等语言不一样,shell的流程控制不可为空,如(以下为PHP流程控制写法):<?phpif (isset($_GET["q"])) { search(q);}else { // 不做任何事情}在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else。

2020-09-29 18:18:09 110

转载 Shell基础概览(中)

Shell基础概览(中)一、运算符1.概览2.算术运算3.关系运算符4.布尔运算符5.逻辑运算符6.字符串运算符7.文件测试运算符一、运算符1.概览Shell 和其他编程语言一样,支持多种运算符,包括:算数运算符关系运算符布尔运算符字符串运算符-文件测试运算符原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk和 expr,expr 最常用。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。例如,两个数相加(注意使用的是反引号 `而不是

2020-09-29 17:26:13 110

转载 Shell基础概览(上)

Shell基础概览一、Shell教程1.基础概念2.第一个shell脚本3.运行shell二、Shell变量1.定义变量2.使用变量3.只读变量4.删除变量5.变量类型三、Shell字符串1.单引号2.双引号3.字符串的操作四、Shell数组1.定义数组2.读取数组3.获取数组的长度五、Shell 注释1.单行注释2.多行注释六、参数传递注:本文源至Shell教程,仅用于个人学习,侵权删。一、Shell教程1.基础概念Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。S

2020-09-27 18:52:41 191

原创 Hive复杂日志数据类型的存储与解析

Hive复杂日志数据类型的存储与解析一、背景二、场景一1.日志格式2.Hive存储一、背景实际工作中会遇到很多复杂数据类型,尤其是离线日志中的嵌套json,本文列举几种常见的复杂格式,同时给出存储和解析方法。二、场景一1.日志格式给出两条日志数据如下:{ "device_id":"1", "event_name":"people", "event_values": "{ "search_word":"hui", "search_res":[192061100,819430

2020-09-24 17:21:25 871

原创 数据仓库——数仓分层

数仓分层一.分层的作用二、ODS (opreational data store)三、DWD(data warehouse detail)四、DIM五、DWS(data warehouse service)六、DM(data market)七、APP/ADS一.分层的作用数仓分层的目的是:逐层解耦,减少重复计算,降低烟囱式开发。越到底层,越接近业务发生的记录,越到上层,越接近业务目标。具体如下:①清晰数据结构:每一个数据分层都有它的作用域和职责,在使用表的时候能更方便地定位和理解,实现业务数据解耦

2020-09-21 19:01:13 8846 6

原创 Hive Sql中六种面试题型总结

Hive面试/经典练习题一、N日留存1.思路分析二、连续登陆1.数据准备2.思路分析三、 Top N一、N日留存1.思路分析按天留存率计算 就是指用户在首日新增后,在接下来的后推第N天活跃情况,用后推第N天活跃的用户 / 首日新增用户。就得到后推第N天的新增用户留存率。 留存率计算案例 1月1日,新增用户200人; 次日留存:第2天,1月2日,这200人里面有100人活跃,则次日留存率为: 100 / 200 = 50% 2日留存:第3天,1月3日;这200名新

2020-09-14 18:49:11 11845 10

原创 Hive窗口分析函数(案例详细讲解)

Hive窗口分析函数一、语法结构二、窗口函数三、Over从句四、分析函数五、COUNT、SUM、MIN、MAX、AVG详解1.数据准备参考资料一、语法结构分析函数 over(partition by 列名 order by 列名 rows between 开始位置 and 结束位置)over()函数中包括三个函数:包括分区partition by 列名、排序order by 列名、指定窗口范围rows between 开始位置 and 结束位置。我们在使用over()窗口函数时,over()函数中

2020-09-10 20:07:03 3228

转载 数仓建设流程

数仓建设流程一、数仓概览二、流程详解1.梳理业务流程2.垂直切分,划分主题域3.梳理指标体系4.表实体关系调研5.维度梳理4.数仓分层7.物理模型建立三、tipis注:本文转至 如何搭建一个数据仓库,仅用于个人学习,侵权删。一、数仓概览整体建设建设过程数仓建模的过程分为业务建模、领域建模、逻辑建模和物理建模,但是这 些步骤比较抽象。为了便于落地,我根据自己的经验,总结出上面的七个步骤:梳理业务流程、垂直切分(划分主题域)、指标体系梳理、表实体关系调研、维度梳理、数仓分层以及物理模型建立。每

2020-09-10 15:26:35 13728 3

转载 数据仓库与数据集市建模

数据仓库与数据集市建模一、前言二、数据仓库(data warehouse)1. 操作型数据库(OLTP) VS 分析型数据库(OLAP)2.数据仓库定义三、数据集市(data mart)四、维度建模的基本概念五、 维度建模的三种模式(模型)1.星型模式(模型)2.雪花模式(模型)3.星座模式(模型)4.三种模式对比六、更多可能的事实属性七、经典星座模型1.共享维度2. 细节/聚集事实表八、缓慢变化维度问题九、规范化数据仓库十、独立数据集市十一、两种数据仓库建模体系对比注:本文转自数据仓库与数据集市建模,仅

2020-09-10 12:16:18 1688

原创 Apache Atlas数据治理和元数据框架

概述场景架构原理使用安装

2020-09-10 11:02:11 1246 7

转载 Spark指南——第六章:Spark性能调优——高级篇(2)

Spark性能调优——高级篇(2)一、前言二、数据倾斜1.数据倾斜发生时的现象2.数据倾斜发生的原理3. 如何定位导致数据倾斜的代码①某个task执行特别慢的现象②某个task莫名其妙内存溢出的现象4.查看导致数据倾斜的key三、数据倾斜的解决方案1.解决方案一:使用Hive ETL预处理数据2.解决方案二:过滤少数导致倾斜的key3.解决方案三:提高shuffle操作的并行度4.解决方案四:两阶段聚合(局部聚合+全局聚合)5.解决方案五:将reduce join转为map join6.解决方案六:采样倾斜

2020-09-09 19:55:37 268

转载 Spark指南——第六章:Spark性能调优——基础篇(1)

Spark性能调优——基础篇一、前言二、调优概述三、开发调优1.原则一:避免创建重复的RDD2.原则二:尽可能复用同一个RDD3.原则三:对多次使用的RDD进行持久化4. 原则四:尽量避免使用shuffle类算子5.原则五:使用map-side预聚合的shuffle操作(算子)6.使用高性能的算子7.原则七:广播大变量8.原则八:使用Kryo优化序列化性能原则九:优化数据结构四、资源调优1.num-executors2.executor-memory3.executor-cores4.driver-memo

2020-09-09 16:41:52 464

转载 Spark指南——第五章:Spark内核解析(2)

第五章:Spark内核解密(2)一、Spark Shuffle二、内存管理一、Spark Shuffletodo二、内存管理

2020-09-07 19:23:51 213

原创 Spark指南——第五章:Spark内核解析(1)

第六章:Spark内核解密todo

2020-09-07 15:43:01 263

原创 Spark指南——第四章:SparkStreaming编程

SparkStreaming编程todo

2020-09-07 15:38:33 117

原创 Spark指南——第三章:SparkSQL编程——DataSet(3)

SparkSQL编程——DataSet(3)一、DataSet一、DataSettodo

2020-09-04 18:44:30 427

原创 Spark指南——第三章:SparkSQL编程—— DataFrame(2)

SparkSQL编程(1)一、SparkSession二、DataFrame1.创建DataFrame①通过数据源创建DataFrame②从RDD转换创建DataFrame1.方式一:Case Class方式2.方式二:createDataFrame方式③从Hive Table查询创建2.使用SQL风格编程① 对DataFrame创建一个临时表② 对创建的people表进行SQL查询3.使用DSL(Domain Specific Language)风格编程① 查看Schema② 指定列查询③ 限制条件查询④

2020-09-04 10:47:40 444

原创 Spark指南——第三章:SparkSQL概述(1)

SparkSQL概述(1)一、SparkSQL概述二、DataFrame三、Dataset:类型安全的结构化API四、DataFrame与 Dataset的比较一、SparkSQL概述我们知道Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduc的程序的复杂性,但是由于Hive基于MapReduce进行处理,在该过程中大量的中间磁盘落地过程消耗了大量的I/O,这大大降低了运行效率。所有Spark SQL的应运而生,它是将Spark SQL转换成R

2020-09-03 12:59:46 228

原创 Spark指南——第二章:SparkCore——RDD编程(2)

SparkCore——RDD编程(2)一、编程模型二、RDD编程三、创建RDD①并行集合创建RDD②外部存储创建RDD四、转换操作(transform)1.Vaule类型的转换操作① distinct② filter(func)③ map(func)④ flatMap(func)⑤ mapPartitions(func)⑥ mapPartitionsWithIndex(func)⑦ groupBy(func)⑧ coalesce、repartition⑨ sortBy(func,[ascending], [

2020-09-02 17:18:07 269

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除