自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python安装手册

最初被设计用于编写⾃动化脚本Shell(适用于Linux操作系统),随着版本的不断更新和语言新功能的添加,逐渐被⽤于独立的、大型项目的开发。IronPython,运⾏在微软.Net平台上的Python解释器,可直接把Python代码编译成.Net的字节码。JPython,运⾏在Java平台的解释器,直接把Python代码编译成Java字节码执⾏。Python是一种跨平台的计算机程序设计语⾔。是一个高层次的结合了。C语言开发的解释器[官方],应⽤广泛的解释器。PyPy,基于Python语⾔言开发的解释器。

2024-03-24 18:18:07 263

原创 HIVE数据抽样

hive中分桶其实就是根据某一个字段Hash取模,放入指定数据的桶中,比如将表table按照ID分成100个桶,其算法是hash(id) % 100,这样,hash(id) % 100 = 0的数据被放到第一个桶中,hash(id) % 100 = 1的记录被放到第二个桶中。sort by 提供了单个 reducer 内的排序功能,但不保证整体有序,这个时候其实不能做到真正的随机的,因为此时的随机是针对分区去的,所以如果我们可以通过控制进入每个分区的数据也是随机的话,那我们就可以做到随机了。

2023-05-18 23:06:34 1572 1

原创 ClickHouse中的数据类型

ClickHouse语法介绍

2023-01-02 18:26:47 2299

原创 ClickHouse访问密码失效

ClickHouse默认用户密码失效

2023-01-01 14:38:08 1019 1

原创 数据仓库建模(四):维度表的设计

数据仓库建模(四):维度表的设计维度表的结构维度表的结构

2022-10-23 17:47:21 3288

原创 Flink 命令行参数介绍

Flink 命令行参数介绍Job Lifecycle Management | Job 生命周期管理Flink Run Command | flink run 命令参数选项Flink Run Command | 通用的参数选项Flink Run Command | yarn-cluster modeSubmitting a Job | 提交一个任务参考文档:Flink Command-Line - 命令行中的配置Flink 提供了一个命令行界面 (CLI) bin/flink 来运行打包为 JAR

2022-09-17 11:20:09 3591

原创 彻底搞懂 Hive|Spark DDL语句 | ALTER 语法

HIVE 的DDL语句中的 ALTER 语法你了解多少,本博客让你彻底搞懂

2022-07-24 22:21:23 3695 1

原创 Hive|Spark 查看表的各种信息

Hive | Spark 中的 SHOW 语法你了解多少?不能错过的好文章

2022-07-10 19:15:35 5803 4

原创 Python 的常用规范

python 规范编码及摘要编码及摘要脚本两行指标 Python 运行环境及编码内容① 一般环境定义#!/usr/bin/python# _*_ coding: utf-8② Abaconda 环境参数定义#!/appcom/install/anaconda/bin/python# _*_ coding: utf-8

2022-05-15 11:18:17 357

原创 Flink Configuration 配置文件的配置

Flink 运行命令详细介绍Flink Configuration | flink-conf.yaml中的配置Basic Setup | 默认配置引流:FLINK 的命令 FLINK 的配置 Flink执行说明对 FLINK 的运行命令做完整的介绍参考文章:Flink Configuration - flink-conf.yaml 中的配置 Flink Memory Configuration - 内存配置Flink Command-Line - 命令行中的配置Flink Config

2022-05-02 12:42:06 9612

原创 HIVE 生成过多小文件的问题

HIVE 生成过多小文件的问题笔者公司的HIVE现状看下怎么插数会造成小文件过多今天运维人员突然发来了告警,有一张表生成的小文件太多,很疑惑,然后排查记录了下笔者公司的HIVE现状HIVE的版本 2.x,使用的引擎是 MR,该张表是 WEB 开发人员通过 HIVE JDBC 插入的看下怎么插数会造成小文件过多① 建表语句CREATE TABLE if not exists cust_info( user_id string COMMENT '用户ID' ,user_name

2022-04-16 23:50:13 3499

原创 HDFS 压缩算法对比

HDFS 压缩算法对比Hive 在处理数据时,一般都需要经历文件读取和文件写出的过程,如果按照原文件的大小进行读写和传输,不仅效率查而且带宽的占用也很高,此时就需要我们这里所讲的 存储格式 和 压缩算法文件存储格式不同对应不同的压缩算法,从而带来不同的性能,我们根据实际使用考虑压缩算法的性能,主要通过以下 3 个指标:① 压缩比压缩比越高,压缩后文件越小,所以压缩比越高越好② 压缩时间越快越好③ 压缩后的文件是否可以再分割可以分割的格式允许单一文件由多个Mapper程序处理,可以更好的并行化

2022-04-16 17:23:50 2709

原创 HIVE 数据仓库容量清理

HIVE 数据仓库容量清理的一般操作清理无用数据归档访问频率低的冷历史数据未压缩的文本表进行压缩处理本博客结合笔者公司,总结了一下一般的数据仓库容量清理手段,见识浅陋,如有大佬路过,欢迎指点随着数据仓库数据量的不断上升,一些表的文件越来越大,HADOOP 集群需要不断的加机器,随着不断的拓展,我们会发现:优化和清理同样重要,优化和清理的尽头才是加机器此时我们需要对HIVE的容量着手,开始考虑如何清理容量,一般有有一下几点:清理无用数据无用的数据很主观,需要对整个仓库的表进行梳理,主要针对以下这

2022-04-15 11:18:56 2656

原创 HIVE 导入导出文件

HIVE 导入导出文件导入文件导出文件表中的数据到本地文件表中数据到 HDFS参考:HIVE 导出文件导入文件导出文件表中的数据到本地文件其实在实际开发场景,一些关键性的数据可能还是需要我们导出来,然后下发给业务,所以此时就需要一些导出数据的操作,需要注意以下几点:1. 文件夹路径的文件夹应该是一个空文件夹,防止原数据被覆盖2. 如果使用了 LOCAL 关键字,HIVE 会把数据写入到本地文件系统中3. 数据会序列化到本地文件中,字段的分隔符默认为 ^A,行的分隔符默认为新的一行,如果字段

2022-04-11 23:51:25 2135

原创 Hive|Spark 函数详解

Hive|Spark 函数详解基本比较运算函数=、==!!=、<><=><、<=>、>=特殊比较运算函数BETWEENIS [NOT] NULLIN基本数学运算函数+基本比较运算函数 注意: 在比较比较运算函数中, 对于一些可能存在为 NULL 的情况, 一定要增加逻辑判断和处理 =、==expr1 = expr2 - 如果 expr1 equals expr2 则返回 true , 否则返回 false ① 为 NULL 的情况如果 expr1

2022-04-10 16:19:17 1418

原创 数据仓库建模(三):事实表的设计

数据仓库建模(三):事实表的设计事实表结构可加、半可加、不可加事实事实表中的空值一致性事实(事实表中字段命名尽量保持统一)事务事实、周期性快照事实表、累计快照事实表、无事实的事实表事实表结构事实表中每一行对应一个度量事件,反之亦然,比如订单表,每一行对应一个用户下单的事件,此时如果下单送积分的话,那么积分应该对应一个新的积分表,因为积分和下单是不同的事件,不要把这两个事件混在同一个表中。每个事件都对应一个度量,一般情况下是数字度量,比如用户下单事件对应的数字度量应该是订单金额。事实表一般包含外键,用

2022-03-20 16:46:25 3890 1

原创 数据仓库建模(二):建模流程

数据仓库建模(二):建模流程说明kimball 维度建模维度建模设计流程说明该系列的文章仅为记录以及《数据仓库工具箱(维度建模指南)》的读后心得和思考,如有异议,请留言将某些事情以具体、有形的方式抽象成数据集展示出来是数仓建设的最终目的,因此数据模型一定要保持简单性的设计,如果从复杂的数据模型起步,最终将会导致模型过于复杂,从而导致查询性能低下。爱因斯坦曾经说过:“凡事应该尽量简单,直到不能再简单为止”。– 《数据仓库工具箱(维度建模指南)》kimball 维度建模Ralph Kimball

2022-03-20 12:08:21 2302

原创 HIVE 增加修改删除字段

HIVE 增加修改删除字段非分区表增加字段修改字段(修改字段名称、类型、注释、顺序)删除字段分区表新增字段非分区表增加字段增加字段可以使我们在所有字段之后和分区字段之间增加一个字段使用格式ALTER TABLE table_name ADD|REPLACE COLUMNS (col_name data_type [COMMENT col_comment], ...) [CASCADE|RESTRICT] -- (Note: Hive 1.

2022-03-19 22:28:39 22047 4

原创 Yarn 的 Shell命令

Yarn 的 Shell命令Yarn的常用命令application 的常用操作Yarn的常用命令查看 Yarn 的命令选项yarn -helpapplication 的常用操作查看 yarn application 有哪些操作选项yarn applicaion查看当前所有的 applicationyarn application -list强制关闭指定应用# 格式yarn application -kill 应用id# 示例:关闭 id 为 application_

2022-03-18 09:16:21 1873

原创 词根的定义规则

词根的定义规则字段命名的一些问题可以改善以上问题的方法词根定义规范字段命名的一些问题在数据的开发过程中,经常需要定义一些字段或者表名,规则的不完善或者每个人的命名风格都会导致我们遇到以下问题:① 字段的命名不同,但是字段含义完全相同② 确定字段命名时,常常因为候选的单词太多,而无法立即确定用哪个字段③ 中文含义太长,需要把整个中文翻译为字段名吗…可以改善以上问题的方法① 建立统一的词根及字段命名库,防止重复命名② 制定词根和字段命名的规则,最大限度避免个性化词根定义规范在我们公司没有健

2022-03-15 23:59:57 845

原创 彻底弄懂 HIVE 和 SPARK 中的 JOIN

HIVE 和 SPARK 中的 JOINJOIN 的作用INNER JOIN(内连接)LEFT JOIN(左外连接 | 左连接)RIGHT JOIN(右外连接 | 右连接)FULL JOIN(完全连接 | 完全外连接)CROSS JOIN(交叉连接 | 笛卡尔积)SEMI JOIN(半连接)ANTI JOIN(反连接)参考了以下文档:① Spark 3.2.1 - JOIN②JOIN 的作用JOIN 用来将又关系的行进行关联常见的 JOIN 类型有:[ INNER ] | CROSS | LE

2022-03-02 23:55:22 2282

原创 HIVE 使用正则输出符合条件的字段

HIVE 使用正则输出符合条件的字段HIVE 查询除了其中某个字段剩余所有字段无意中了解到 HIVE 中可以使用正则来实现匹配符合条件的列,特此记录,文档如下:hive.support.quoted.identifiersHIVE 查询除了其中某个字段剩余所有字段create table if not exists user_temp( user_id string comment '用户ID', user_name string comment '用户姓名', emp_i

2022-03-02 20:58:54 1912

原创 HIVE 自定义字段插入数据

HIVE 自定义字段插入数据环境介绍只插入自定义字段(单条数据插入)只插入自定义字段(多条数据插入)环境介绍① 环境说明HIVE 2.1.0 + Hadoop 2.7.5② 文章参考HIVE INSERT 说明只插入自定义字段(单条数据插入)① 非分区表的插入方式-- 建表语句create table if not exists user_card_info_temp( user_id string comment '用户ID', user_name string c

2022-03-02 17:20:42 6092

原创 HIVE 多表关联的顺序

HIVE 多表关联的顺序多表关联顺序的问题多表关联的顺序多表关联顺序的问题当多张表进行关联的时候,既有 LEFT JOIN,又有 JOIN,此时的关联顺序是如何进行的,假设我们有三张表,数据如下:① 用户信息表-- 用户信息表create table if not exists user_temp( user_id string comment '用户ID', user_name string comment '用户姓名', emp_id string comment '

2022-03-02 16:15:54 4393

原创 HIVE 打印表头配置

HIVE 客户端打印表头配置通过配置参数打印表头(当前会话有效)通过配置参数打印数据库名(当前会话有效)通过配置文件配置(永久生效)通过配置参数打印表头(当前会话有效)① 不打印表头set hive.cli.print.header=false;② 打印表头,显示为 表名.字段名set hive.cli.print.header=true;③ 打印表头,只显示为 字段名-- 该配置必须开启set hive.cli.print.header=true;set hive.results

2022-03-02 15:09:22 3133

原创 Mysql 命令行密码无法登陆的问题

Mysql 命令特殊特殊符号导致无法登陆的问题今天在 Linux 安装 Mysql 5.7 ,做了初始化之后,生成了临时密码,密码如下图:此时需要登陆初始密码登陆 ,此时登陆发现了问题,登陆报错这个报错很奇怪,后来发现是密码中包含了特殊符号 <,而引发的报错,这时需要对特殊符号转译总结了下,密码中如果包含了特殊符号,有两种方式登陆① 使用单引号把密码包裹起来mysql -uroot -p'密码'# 示例mysql -uroot -p'dqKs52hnsk<b'②

2022-02-26 22:03:28 1103

原创 Macbook m1 安装 Oracle JDK

Oracle JDK 已支持 Macbook m1今天看了下适配进度,发现 Oracle JDK17 已经可以适配 Macbook M1 芯片,安装下试试吧软件适配进度查看比较遗憾的是,Oracle 没有对 JDK8 进行适配,有点想不明白,用的最多的是 JDK 8,不去适配这个,而去适配 JDK17Oracle 官方下载地址安装流程① 直接下载 DMG 版本,以应用的方式安装② 也可以下载免安装版本,然后配置下环境变量友情下载链接...

2022-02-13 12:13:31 6173 2

原创 Shell 获取本月最后一天

Shell 常用日期计算在 shell 中,经常要计算各种各样的日期,将平时常用的计算日期方法记录了下来如有不对,请及时指正获取当前日期获取今天的日期,格式为 yyyyMMddcurr_date=`date "+%Y%m%d"`echo $curr_date获取月初、月末系列获取本月第一天curr_date=20220130curr_month_begin=`date -d "${curr_date}" "+%Y%m01"`获取本月最后一天思路:先获取本月第一天,接着求下月第

2022-02-10 21:03:02 4549 1

原创 Hive 循环插数脚本

说明当前有一个日期分区表,分区字段为 ds ,我们需要通过循环每天日期实现把一段日期的数据插入另外一张表中,建表语句如下:-- 建表语句CREATE TABLE crm_user_info ( cust_no string COMMENT '客户编号', cust_name string COMMENT '客户姓名', gender string COMMENT '客户性别',) COMMENT '客户信息表'partitioned by

2022-02-07 22:05:22 2275

原创 数据仓库建模(一):整体描述

数据仓库建模的心得分享(一)说明该系列的文章仅为记录以及《数据仓库工具箱(维度建模指南)》的读后心得和思考,如有异议,请留言将某些事情以具体、有形的方式抽象成数据集展示出来是数仓建设的最终目的,因此数据模型一定要保持简单性的设计,如果从复杂的数据模型起步,最终将会导致模型过于复杂,从而导致查询性能低下。爱因斯坦曾经说过:“凡事应该尽量简单,直到不能再简单为止”。– 《数据仓库工具箱(维度建模指南)》为什么要建模这些问题在我们的工作中其实经常接触到:① 我们希望方便的对数据进行聚合和计算,从

2021-12-05 18:42:37 2497

原创 GIT 提交说明的规范

GIT 提交说明的规范部分提交代码说明参考Commit Message 的标准格式Header 介绍Body 介绍Footer 介绍提交示例通过 GIT 提交代码的时候,必须要写提交说明,否则就无法提交如果我们所有人能够按照一套规范去写提交说明(Commit Message),那我们阅读 Pull Request 的效率就会很高, 参考了 Github 上的开源项目及部分公司的提交规范,总结出以下规范。规范是所有人默认的一套规定,并不是强制要求,以公司的规范为首要,如果有问题,请留言。。。部分提交

2021-11-28 17:14:07 1792

原创 IDEA 配置SSH 方式访问 GIT

IDEA 配置SSH 方式访问 GIT 生成公私钥配置 GITLAB 代码仓库的域名映射和端口(可选)配置 GITLABIDEA 配置 SSH 登陆文章标签:SSH 方式访问 GIT、IDEA 配置免密登陆、GITLAB 配置免密系统介绍:Windows10 + IDEA 2020.3 + GIT + GITLAB一般公司用的都是 GITLAB,所以配置大致相同,该文档介绍的配置是通过 SSH 方式访问,HTTP 方式访问相对简单些,请对号入座,如有问题,请留言生成公私钥此处已经忽略安装 GI

2021-11-28 15:23:40 12885 3

原创 Git 手动删除 .ssh 后无法生成

Git 手动删除 .ssh 后无法生成环境介绍:Windows 10 + Git 2.34.0 + Gitlab问题描述第一次使用 ssh-keygen 生成了公私钥,在个人的文件夹下可以看到,因为我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图片拖拽 功能,

2021-11-24 20:07:45 917

原创 SpringBoot 单元测试

SpringBoot 单元测试覆盖率及单元测试通过率什么是单元测试什么是单元测试覆盖率什么是单元测试我们开发了很多代码,有时候我们会通过 @Test 的这种方式去测试我们写的某些方法是否正确,那么我们写的这些测试都称之为单元测试一般的,每个类的每个方法都尽量做一次单元测试,并将他们留在 test 目录什么是单元测试覆盖率...

2021-11-08 19:40:09 781

原创 Apache Druid 实践及案例分享

Apache Druid 实践及案例分享数据摄取静态数据源数据摄取(本地文件)静态数据源数据摄取(HDFS文件)流式数据源数据摄取(Kafka)数据摄取Druid 支持流式和批量两种方式的数据摄入,针对不同类型的数据,Druid 将外部数据源分为两种形式:① 流式数据源(流式)指的是持续不断地生产数据的数据源。例如:消息队列、日志、文件等② 静态数据源(批量)指的是数据已经生产完毕,不会有新数据产生的数据源,例如:文件系统的文件流式数据可以通过两种方式来摄入:本地文件和远程文件静态数据源数

2021-11-08 11:23:06 2081

原创 Kylin 3.1.2 集群搭建

Kylin 3.1.2 集群搭建搭建准备安装配置配置yarn的spark_shuffle实现启动Apache Kylin | 安装指南搭建准备① 搭建环境(3 台腾讯云服务器 + 1 台 mysql 中间件)节点node1node2node3配置2C - 8G - 50G2C - 4G - 50G2C - 4G - 50G服务node1node2node3Zookeeper√√√NameNode(Hadoop)√Da

2021-11-08 11:21:57 433

原创 CDH 中使用 hive-shell

在 CDH 中使用 hive问题描述Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set or hadoop must be in the path解决方案编辑 hadoop-env.sh# 1. 进入 hive 安装目录(可能不同,以自己的目录为准)cd /opt/cloudera/parcels/CDH/lib/hive/confvim hadoop-env.sh# 2. 在末尾增加如下

2021-11-08 11:18:55 968

原创 Spark Sql 相关设置及调优

Spark Sql 相关设置及调优设置笛卡尔积设置 shuffle 的并行度禁止精度损失设置笛卡尔积在 SQL 中如果 2 个大表做笛卡尔积,那么数据量会暴增,应尽量避免。如果是两个小表则不会造成这种情况,反而可以便捷生成表-- 设置支持笛卡尔积-- Spark 2.x 版本中默认不支持笛卡尔积操作,需要手动开启set spark.sql.crossJoin.enabled=true;设置 shuffle 的并行度因为笛卡尔积会产生 shuffle,默认的 shuffle 结果分区是 200

2021-11-08 11:16:15 2586

原创 LATERAL VIEW 使用总结

LATERAL VIEW 使用总结使用案例一(单个):split + explode + LATERAL VIEWThe LATERAL VIEW clause is used in conjunction with generator functions such as EXPLODE, which will generate a virtual table containing one or more rows. LATERAL VIEW will apply the rows to each or

2021-11-08 09:59:23 4193

原创 SpringBoot 创建线程池(异步)

SpringBoot 创建线程池第一种方法:配置一个线程池第二种方法:实现 AsyncConfigurer 接口关键字:SpringBoot 异步执行方法、Spring 异步执行有返回值的方法在 Spring 中,我们可以找到 @EnableAsync 注解,通过月的该注解的作用,大致有这么几点信息:① 该注解的作用是开启 SpringBoot 异步执行方法的能力② @EnableAsync 注解必须要和 @Configuration 注解一起使用 @Configuration @Enabl

2021-10-31 18:04:20 6830 1

空空如也

空空如也

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

TA关注的人

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