- 博客(49)
- 资源 (6)
- 收藏
- 关注
原创 有关数仓的一些思考
现在企业中大多用的模型都是维度建模,维度建模示面向分析场景而生。数仓模型的选择是灵活的,不局限于某一种模型方法数仓模型的设计也是灵活的,以实际需求场景为导向模型设计要兼顾灵活性、可扩展,而对终端用户透明性模型设计要考虑技术可靠性和实现成本...
2020-12-09 00:09:57
285
原创 雪花模型、星型模型的区别
雪花模型、星型模型和星座模型的区别星型模型和雪花模型的主要区别在于维度表的拆分,对于雪花模型维度表的设计更加规范,一般符合3NF对于星型模型来说,一般采用降维的操作,减少数据冗余,提高易用性和分析效率...
2020-12-08 23:54:34
1716
原创 数据仓库建模基本理论
数据仓库建模基本理论一、ER实体模型二、维度建模三、dataVault模型四、Anchor数仓建模的目标访问性能:能够快速查询所需的数据,减少数据I/O数据成本:减少不必要的数据冗余,实现计算结果数据复用,降低大数据系统中的存储成本和计算成本使用效率:改善用户应用体验,提高使用数据的效率数据质量:改善数据统计口径的不一致性,减少数据计算错误 的可能性,提供高质量的、一致的数据访问平台一、ER实体模型在信息系统中,将事物抽象成“实体”、“属性”、“关系”来表示数据关联和事物描述。实体:En
2020-12-04 00:23:55
880
原创 函数依赖问题
1、完全函数依赖通过AB可以得到C,但是通过A或者B单独得不出C,那么就说C完全依赖于AB2、部分函数依赖通过AB可以得到C,但是也可以通过A或者B单独得到C,那么就说C部分依赖于AB3、传递函数依赖通过A得到B,通过B得到C,但是A得不到C,那么就说C传递依赖于A...
2020-12-04 00:07:32
707
原创 数据仓库
认识数据仓库一、什么是数据仓库二、数据仓库的发展史三、基于大数据数仓构建特点四、数据仓库的应用范围与前景一、什么是数据仓库数据库1、数据库是按照数据结构来组织、存储、管理数据的建立在计算机存储设备上的仓库2、数据库是长期存储在计算机内、有组织的、可共享的的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和存储在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并在一定范围内为多个用户共享数据仓库数据仓库是面向主题的、集成的、相对稳定的、反应历史变化的数据集合,用于支持管理决策
2020-12-03 22:52:27
282
原创 集群集成Kerberos过程中遇到的坑
1、hdfs用户提交mr作业无法运行INFO mapreduce.Job: Job job_1442654915965_0002 failed with stateFAILED due to: Application application_1442654915965_0002 failed 2times due to AM Container for appattempt_1442654915965_0002_000002exited with exitCode: -1000 due to: A
2020-11-05 23:29:14
2207
原创 Requested user hdfs is not whitelisted and has id 993,which is below the minimum allowed 1000
将数据从mysql往hdfs导入的时候报错ailing this attempt.Diagnostics: [2020-11-05 23:11:56.466]Application application_1604581963944_0008 initialization failed (exitCode=255) with output: main : command provided 0main : run as user is hdfsmain : requested yarn user is
2020-11-05 23:16:20
1080
原创 Sqoop学习笔记
一、sqoop官网1、Sqoop 官网2、Sqoop Documentation (v1.4.7)二、简介sqoop是一个数据迁移工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、oracle…)之间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中三、导入数据(RDBMS – > hive)数据准备--在mysql中建表 student
2020-11-05 22:50:11
172
原创 CDH 之 HDFS WebUI浏览器认证 (开启了kerberos认证之后)
设置CDH支持kerberos后会出现下图所示的情况1、打开火狐浏览器,在地址栏输入:about:config,进入设置页面(其它浏览器不得行)2、搜索“network.negotiate-auth.trusted-uris”,修改值为自己的服务器主机名。3、搜索“network.auth.use-sspi”,双击将值变为false。4、安装kfw (没有的可私我 kfw-4.1-amd64.msi)5、将集群的/etc/krb5.conf文件的内容复制到C:\ProgramData\MIT
2020-11-04 21:37:43
1659
原创 Kerberos 原理
一、 Kerberos概述Kerberos 是一种计算机网络认证协议,它允许某实体在非安全网络环境下通信,向另一个实体以一种安全的方式证明自己的身份,Kerberos服务器本身称为密钥分发中心或 KDC。二、几个重要的概念1、KDC:密钥分发中心,负责管理发放票据,记录授权2、Realm:Kerberos管理领域的标识3、principal:当每添加一个用户或服务的时候都需要向kdc添加一条principal,principl的形式为:主名称/实例名@领域名4、主名称:主名称可以是用户名或服务名
2020-11-04 21:28:13
965
原创 MySQL常用函数
常用函数1、ABSABS(number):返回指定数字的绝对值。绝对值是指没有正负符号的数值。 Number:需要求出绝对值的任意实数。示例: ABS(-1.5)等于1.5。 ABS(0)等于0。 ABS(2.5)等于2.5。2、ROUNDROUND(X) – 表示将值 X 四舍五入为整数,无小数位 ROUND(X,D) – 表示将值 X 四舍五入为小数点后 D 位的数值,D为小数点后小数位数。若要保留 X 值小数点左边的 D 位,可将 D 设为负值。示例: ROUND('123.
2020-09-28 21:42:24
366
原创 hive函数的分类
一、内置函数(1)日期函数from_unixtime(bigint unixtime[, string format]) --将时间戳转成dateunix_timestamp() --获取当前时间的时间戳(2)条件函数if(boolean testCondition, T valueTrue, T valueFalseOrNull) --如果value非空就返回value,否则就返回default_valuenvl(T value, T default_value)--类似于Java
2020-09-28 21:20:29
348
转载 hive自定义UDAF函数
hive自定义UDAF函数函数类需要继承UDAF类,内部类Evaluator实UDAFEvaluator接口。Evaluator需要实现 init、iterate、terminatePartial、merge、terminate这几个函数。a)init函数实现接口UDAFEvaluator的init函数。b)iterate接收传入的参数,并进行内部的轮转。其返回类型为boolean。c)terminatePartial无参数,其为iterate函数轮转结束后,返回轮转数据,termi
2020-09-28 21:19:16
1014
原创 hive的连接方式
(1)bin/hive 交互式查询#使用hive方式查询的时候显示字段信息<property><name>hive.cli.print.header</name><value>true</value><description>Whether to print the names of the columns in query output.</description></property>#使
2020-09-28 20:49:08
342
原创 hive自定义UDF函数解析JSON字符串
UDF函数作用:解析JSON字符串1、在pom.xml文件中添加依赖<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>1.2.1</version> </dependency>2、jav
2020-09-27 21:44:28
740
原创 flum拦截器
package com.garret.chen;import com.alibaba.fastjson.JSONObject;import com.google.common.collect.Lists;import org.apache.flume.Context;import org.apache.flume.Event;import org.apache.flume.interceptor.Interceptor;import java.io.UnsupportedEncodingEx
2020-09-27 21:10:50
154
原创 linux上安装MySQL
1)卸载mariadbrpm -qa | grep mariadb | xargs rpm -e --nodeps2)下载msql5.7 yum源wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm3)安装yum源rpm -ivh mysql57-community-release-el7-9.noarch.rpm4)安装mysqlyum -y install mysql-server5)启
2020-09-26 23:30:45
272
原创 如何用hive sql 实现 contain 查询?
如何用hive sql 实现 contain 查询?需求:判断某个字符串是否在另一个字符串中?方法:用正则匹配regexp那么用正则实现包含功能的代码是:select '美国加州' regexp('.*加州.*');true
2020-09-26 22:30:45
4080
原创 shell脚本的执行方式
Linux中shell脚本的执行通常有4种方式,分别为工作目录执行,绝对路径执行,sh执行,shell环境执行。首先,看下我们的脚本内容[plum@plum scripts]$ lltotal 4-rw-rw-r--. 1 plum plum 68 May 8 23:18 test.sh[plum@plum scripts]$ cat test.sh #!/usr/bin/bash/usr/bin/python <<-EOFprint "Hello Shell"
2020-09-26 22:25:45
296
原创 腾讯云不同账号实现内网通讯
现有两台服务器server1 、server2内网ip规划为192.168.16.9 和192.168.128.101、首先登陆server1,点击云产品 私有网络server2为同样的操作方式,配置内网为192.168.128.10然后建立对等连接2、配置路由策略,点击子网,关联路由表下方的蓝色字体3、进入路由表详情页,点击“新增路由策略”...
2020-09-19 18:01:16
1490
原创 linux之mysql
1、启动mysqlservice mysqld start2、如何彻底卸载mysql#使用以下命令查看当前安装mysql情况,查找以前是否装有mysqlservice mysqld start#停止mysql服务、删除之前安装的mysql rpm -ev MySQL-client-5.5.25a-1.rhel5 #如果提示依赖包错误,则使用以下命令尝试rpm -ev MySQL-client-5.5.25a-1.rhel5 --nodeps#如果提示错误:error: %preu
2020-09-19 14:46:35
138
原创 linux常用命令
CentOS 7.5 64位1、linux 修改主机名 hostnamectl set-hostname NEW_NAME #设定主机名,永久有效 hostname NEW_NAME # <这种方法只对当前系统有效,重启后无效>
2020-09-13 18:25:21
94
原创 linux操作基本命令
一、用户与用户组1、查看有哪些分组cat /etc/group2、添加用户组groupadd -g 600 hadoop #添加一个组hadoop gid为6003、删除用户组 groupdel hadoop4、添加用户useradd hadoop #添加名为hadoop的用户 -u 指定uid标记号 尽量大于500 以免冲突 -d 指定宿主目录 缺省值为 /home/用户名 -e 指定账户失效时间(1/2/2018) -g 指定所属的用户组(组名或gid) -G 指定所
2020-09-13 18:18:28
177
原创 Python中的一些小技巧!!!
01 重复元素判定def all_unique(lst): return len(lst) == len(set(lst))x = [1,1,2,2,3,2,3,4,5,6]y = [1,2,3,4,5]all_unique(x) # Falseall_unique(y) # True02 字符元素组成判定检查两个字符串的组成元素是不是一样的。from collections import Counterdef anagram(first, second): ret
2020-08-11 22:26:20
148
原创 Python报错NameError:name ‘xrange’ is not defined
Python运行某代码时,报错:NameError:name ‘xrange’ is not defined原因:在Python 3中,range()与xrange()合并为range( )。我的python版本为python3.5解决办法:将xrange( )函数全部换为range( )。
2020-08-06 22:28:11
300
原创 Python数据处理之Excel
用Python处理Excel文件主要有三个库xlrd 读取excel文件xlwt 向Excel文件写入,并设置格式xlutils 高级Excel操作工具 需要先安装xlrd 和xlwtexcel文件有多个标签和工作表,我们想要获得数据,首先要找到目标数据所在工作表import xlrdbook = xlrd.workbook('D:\\data\\test.xlsx')for sheet in book.sheets: print(sheet.name)ps:打开一个Excel表格,
2020-08-06 22:26:59
147
原创 python离线安装库
python库下载后再安装第一步:https://pypi.org/project/xlrd/#files 或者 pip download [模块名]下载后放本地路径第二步:cmd命令,cd到下载后模块所在文件夹第三步:pip install 文件名第四步: pip list 可以查看安装好的模块...
2020-08-06 22:24:38
903
原创 Pythono数据处理之json文件和xml文件
json文件import jsonjsonfile = open('data_test.json','rt',encoding='utf-8').read()data = json.loads(jsonfile)for row in data: print(row) Python中json库的loads函数接收字符串,不接受文件为参数,csv reader 接收一个文件对象作为参数xml文件xml文件中有两个位置可以保存值,其中一个是两个标签之间,另一个是作为标签的属性xml文件
2020-08-06 22:23:42
184
原创 python读取文件遇到的问题
1、UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xad in position解决办法:加入编码 encoding='utf-8’2、python读取csv文件是报错_csv.Error: iterator should return strings, not bytes (did you open the file in text问题分析:因为此csv文件是一个文本文件,并非二进制文件。解决办法:将rb换成r或者rtimport csv
2020-08-05 22:56:20
323
原创 python数据处理之CSV文件
数据可以存储成许多不同的格式和文件类型。某些格式存储的数据很容易被机器处理,而另一些格式存储的数据则容易被人工读取。微软的 Word 文档属于后者,而 CSV、JSON和 XML 文件则属于前者。以易于机器理解的方式来存储数据的文件格式,通常被称作机器可读的(machine readable)。常见的机器可读格式包括:• 逗号分隔值(Comma-Separated Values,CSV)• JavaScript 对象符号(JavaScript Object Notation,JSON)• 可扩展标
2020-08-05 22:45:30
594
原创 Python基本数据类型
字符串类型1、字符串里可以包含数字、字符、符号2、整数和浮点型5 == ‘5’ 返回结果为 false在Python中使用非整数时,默认转换为浮点数ps:浮点数的运算速度很快,但正是因为这一点,浮点数不够精确 0.1+0.2 并不等于 0.3需要考虑精度的时候,我们考虑使用decimalfrom DECIMAL IMPORT getcontext,decimal getcontext().prec = 1 #精度为0.1 decimal(0.1) + decimal(0.2) #得到
2020-08-05 22:27:57
163
原创 hive之grouping sets , grouping_id, cube,rollup
hive中grouping sets , grouping_id, cube,rollup的区别grouping sets–建表create table tmp.garret_test(name string,age int,score int,subject string)–插入数据insert into table tmp.garret_test values('lina',18,65,'语文')insert into table tmp.garret_test values('
2020-08-04 22:39:32
228
原创 Python之开发工具sublime
最近在学习python,使用的开发工具是sublime,sublime使用起来方便轻巧,感兴趣的朋友可以试试用用,下面就是一些基础操作~使用sublime执行java文件前提:配置好java环境变量配置sublime textctrl+shift+p调出命令窗口,键入Build: new bulid system,新建:Java.sublime-build{ "shell_cmd": "runJava.bat \"$file\"", "file_regex": "^(...*?):
2020-08-04 22:33:36
290
原创 足球
32岁的亨利就坐在那里,深情的目光望过去,都是自己22岁的影子。 这句话出自哪里?最佳答案这曾是他最熟悉的,而今,已是他最陌生的。32岁的亨利就坐在那里,深情的目光望过去,都是自己22岁的影子。380场比赛,226个进球,4座英超金靴,2座英超奖杯,49场不败。历史最佳射手,海布里的最后一战,海布里的最后一吻。当烟花升起的时刻,那个曾属于亨利的海布里国王时代不会随年华逝去,而只会在年华的飘零中常常记起。...
2020-07-28 23:56:36
226
1
原创 加载文件到hive,跳过表头
加载文件到hive,跳过表头tblproperties("skip.header.line.count"="n", --跳过文件行首n行"skip.footer.line.count"="n" --跳过文件行尾n行 )
2020-07-23 22:19:26
857
Sheldon_sqlyog.zip
2020-07-14
The Linux Command Line.zip
2020-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅