<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[不负青春、不负卿]]></title><description><![CDATA[总有一群人在黑夜中前行]]></description><link>https://blog.youkuaiyun.com/dscfirst</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dscfirst]]></copyright><item><title><![CDATA[hive 处理字段值为null的函数]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/126418841</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/126418841</guid><author>dscfirst</author><pubDate>Fri, 19 Aug 2022 11:04:22 +0800</pubDate><description><![CDATA[expression_n)依次参考各参数表达式，遇到非null值即停止并返回该值。如果所有的表达式都是空值，最终将返回一个空值。使用coalesce在于大部分包含空值的表达式最终将返回空值。它的格式是nvl( string1, replace_with)。它的功能是如果string1为null，则nvl函数返回replace_with的值，否则返回string1的值，如果两个参数都为null ，则返回null。当然还可以使用is null 或者is not null 的语法对null进行筛选和排除。]]></description><category></category></item><item><title><![CDATA[hive常用日期函数]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/126260437</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/126260437</guid><author>dscfirst</author><pubDate>Wed, 10 Aug 2022 11:13:39 +0800</pubDate><description><![CDATA[hive常用日期函数]]></description><category></category></item><item><title><![CDATA[SQL 性能起飞了！]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/113941952</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/113941952</guid><author>dscfirst</author><pubDate>Mon, 22 Feb 2021 16:15:50 +0800</pubDate><description><![CDATA[对查询进行优化，应尽量避免全表扫描，首先应考虑在 where 及 order by 涉及的列上建立索引。


应尽量避免在 where 子句中对字段进行 null 值判断，创建表时NULL是默认值，但大多数时候应该使用NOT NULL，或者使用一个特殊的值，如0，-1作为默 认值。


应尽量避免在 where 子句中使用!=或&lt;&gt;操作符， MySQL只有对以下操作符才使用索引：&lt;，&lt;=，=，&gt;，&gt;=，BETWEEN，IN，以及某些时候的LIKE。


关于 MySQ..]]></description><category></category></item><item><title><![CDATA[什么是自助报表]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/113857859</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/113857859</guid><author>dscfirst</author><pubDate>Fri, 19 Feb 2021 10:08:46 +0800</pubDate><description><![CDATA[自助报表大多是面向没有技术开发能力且想要自己在 web 端拖拽做表的业务人员。
自助报表具有以下几个特点：
1、 快速：比如月底人事部门要根据一些灵活的规则快速统计公司内人员的出勤情况，加班情况。
2、 人性化：业务报表的显示内容经常需要变化，灵活适应多变的业务需求
3、 简单：因为业务人员不懂技术，所以操作方式必须足够简单
如何建自助报表
（一）：前端交互页面
前端应基于 web 方式，以便用户无须安装其他软件，在浏览器端就能够实现维度拖拽、旋转、切片、切块、下钻、自定义指标等操作
（二）：底层数据建模
]]></description><category></category></item><item><title><![CDATA[维度表，实体表，事实表之间的关系]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/109485822</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/109485822</guid><author>dscfirst</author><pubDate>Wed, 04 Nov 2020 10:47:15 +0800</pubDate><description><![CDATA[维度表：维度表可以看成是用户用来分析一个事实的窗口，它里面的数据应该是对事实的各个方面描述，比如时间维度表，它里面的数据就是一些日，周，月，季，年，日期等数据
实体表：实体表就是一个实际对象的表，实体表它放的数据一定是一条条客观存在的事物数据，比如说设备 ，它就是客观存在的，所以可以将其设计一个实体表
事实表：事实表其实质就是通过各种维度和一些指标值得组合来确定一个事实的，比如通过时间维度，地域组织维度，指标值可以去确定在某时某地的一些指标值怎么样的事实。

上面这张图就是设备表的一个实体表设计，它作为一个]]></description><category></category></item><item><title><![CDATA[hive函数]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/105435525</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/105435525</guid><author>dscfirst</author><pubDate>Mon, 26 Oct 2020 19:27:12 +0800</pubDate><description><![CDATA[COALESCE()函数
主流数据库系统都支持COALESCE()函数，这个函数主要用来进行空值处理，其参数格式如下：
COALESCE ( expression,value1,value2……,valuen)
COALESCE()函数的第一个参数expression为待检测的表达式，而其后的参数个数不定。
COALESCE()函数将会返回包括expression在内的所有参数中的第一个非空表达式...]]></description><category></category></item><item><title><![CDATA[脱敏函数相关函数]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/106143686</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/106143686</guid><author>dscfirst</author><pubDate>Fri, 15 May 2020 16:36:50 +0800</pubDate><description><![CDATA[1】mask （data_string,mask_string,pre_length,post_length)
隐藏电话号码，使用mask_string替代data_string 中的字符。保留前面pre_length长度的字符，保留尾部post_length长度的字符。默认mask_string为 *
select mask(‘123456’,*,2,3) from system.dual;
返回：‘12**456’
2】mask_email（data_string,mask_string,pre_len]]></description><category></category></item><item><title><![CDATA[复杂类型函数array_contains]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/106134164</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/106134164</guid><author>dscfirst</author><pubDate>Fri, 15 May 2020 08:59:56 +0800</pubDate><description><![CDATA[array是一个操作符，返回得值是数组
例如 array(va1,va2) 返回array类型，创建一个（va1,va2）数组
array_contains ,其实contains这个函数是一个检索函数，那么加上array前缀，顾名思义就是数组检索函数。
select array_contains(array(va1,va2),va1) from system.dual;
返回 ture
从上面得例子，可以看出，array_contains检索一个数组中是否包含某个值，如果包含则返回ture,否则返回fal]]></description><category></category></item><item><title><![CDATA[add_months函数]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/106123904</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/106123904</guid><author>dscfirst</author><pubDate>Thu, 14 May 2020 17:05:40 +0800</pubDate><description><![CDATA[add_months函数是对日期月份进行加减的函数
介绍：这个函数用于计算s在时间x之上机上Y个月后的时间值，要是Y的值为负数的话就是在 这个时间点之间的时间值（这个时间-Y个月）。
案例：以当前时间为准，取上3个月的日期为多少
eg:select add_months(sysdate,-3) from system.dual;

...]]></description><category></category></item><item><title><![CDATA[split切割函数在hive中的应用]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/106121692</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/106121692</guid><author>dscfirst</author><pubDate>Thu, 14 May 2020 16:07:02 +0800</pubDate><description><![CDATA[split函数是编程语言中使用的一种函数名称，它是指返回一个下标从零开始的一维数组，split函数包含指定数目的子字符串。
split 切割函数
语法: split(string str, string pat)
返回值: array
说明: 按照pat字符串分割str，会返回分割后的字符串数组
举例：
1.基本用法
hive&gt; select split(‘abcdef’, ‘c’) from test;
[“ab”, “def”]
2.截取字符串中的某个值
hive&gt; select split]]></description><category></category></item><item><title><![CDATA[oracle db2 mysql之排序函数的几种应用]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/106071867</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/106071867</guid><author>dscfirst</author><pubDate>Tue, 12 May 2020 11:28:05 +0800</pubDate><description><![CDATA[首先大家应该都知道传统数据库他们常用的排序函数是order by
那么对于简单的以指定的次序返回排序结果以及按多个字段返回排序结果这些简单的操作应该都很熟悉，今天介绍的是稍微复杂一点的排序
1、按字串排序
什么是按字串排序，按字串排序就是按照表中某个字段的几个特定位置的字符去排序
我们以传统数据库自带的员工表为例

现在我们按照员工表的职位字段的最后两个字符排序

2、对字母数字混合的数据排序
首先数据是这样的

data这一列有员工名字和员工姓名，现在要按照名字或者部门去排序


3、处理排序空值
首先数]]></description><category></category></item><item><title><![CDATA[【一】hadoop概述]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/105435504</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/105435504</guid><author>dscfirst</author><pubDate>Fri, 10 Apr 2020 15:54:42 +0800</pubDate><description><![CDATA[##大数据技术概览
###1.1基本特征
传统数据            大数据
数据量   GB-&gt;TB             TB-&gt;PB以上
** 速度**   数据量稳定，增长不快   实时产生处理，年增长率超过60%
多样性  结构化数据            结构化、半结构化、非结构化数据
价值    统计报表              机器学习、深度学习
**大数据：*...]]></description><category></category></item><item><title><![CDATA[大数据入门介绍及学习所需软硬件安装]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/105099293</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/105099293</guid><author>dscfirst</author><pubDate>Wed, 25 Mar 2020 17:02:39 +0800</pubDate><description><![CDATA[大数据入门及软硬件安装
###一、什么是大数据
定义:
大数据（big data），IT行业术语，是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合，是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
数据计量单位已从Byte、KB、MB、GB、TB发展到PB、EB、ZB、YB、甚至BB、NB、DB来衡量。大数据时代的采集也不再是技...]]></description><category></category></item><item><title><![CDATA[数仓之ods与dw的区别]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/103731052</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/103731052</guid><author>dscfirst</author><pubDate>Fri, 27 Dec 2019 14:06:41 +0800</pubDate><description><![CDATA[背景知识：在当今这样一个信息技术发展迅速的时代，数据量也在不断的增长，面临这样的压力，总是会有大神提出一些解决方案。比如高层管理人员希望能查看整个公司的发展业绩，数据仓库(Data Warehouse, DW)正是解决该问题的主要方案，随之DW就这样产生了。
可是时代在变，需求也会随着改变，比如保险公司的员工希望提高自己的业绩，拿更多的工资，那么他首先希望的就是能把更多的客户挖进来，其实这其中是...]]></description><category></category></item><item><title><![CDATA[hadoop-不同集群之间数据拷贝]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/103574337</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/103574337</guid><author>dscfirst</author><pubDate>Tue, 17 Dec 2019 10:20:12 +0800</pubDate><description><![CDATA[hadoop不同集群之间数据拷贝，拷贝时两个集群要用active namenode去拷贝，datanode是不具备拷贝功能的，所以当我们把数据拿到hdfs路径上时，
要去判断当前集群哪个主节点是active的,所以大致步骤为

数据落到hdfs上

beeline -u jdbc:hive2://158.222.14.103:10000/ln -e “insert overwrite direct...]]></description><category></category></item><item><title><![CDATA[linux系统]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/103528251</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/103528251</guid><author>dscfirst</author><pubDate>Fri, 13 Dec 2019 15:32:55 +0800</pubDate><description><![CDATA[linux系统其实跟window系统一样，是一款操作系统

]]></description><category></category></item><item><title><![CDATA[shell-文件安全与权限]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/103524273</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/103524273</guid><author>dscfirst</author><pubDate>Fri, 13 Dec 2019 15:17:32 +0800</pubDate><description><![CDATA[当你创建一个文件的时候，系统保存了有关该文件的全部信息，包括：

• 文件的位置。
• 文件类型。
• 文件长度。
• 哪位用户拥有该文件，哪些用户可以访问该文件。
• i节点。
• 文件的修改时间。
• 文件的权限位。

一个文件权限由四部分组成

(第一个字符) - 普通文件
(接下来的三个字符) r w - 文件属主的权限
(再接下来的三个字符) r- - 同组用户的权限
(最后三个字符)...]]></description><category></category></item><item><title><![CDATA[shell-scp命令]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/103523993</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/103523993</guid><author>dscfirst</author><pubDate>Fri, 13 Dec 2019 11:30:03 +0800</pubDate><description><![CDATA[scp -P 端口 c://xxxx.txt user@ip:/home/root
注意：
-P 大写
-i 公钥
1、从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir（本地目录）
例如scp root@192.168.0.101:/var/www/test.txt  把192.168.0.101上的/var/w...]]></description><category></category></item><item><title><![CDATA[shell里的 2>&1]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/103523156</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/103523156</guid><author>dscfirst</author><pubDate>Fri, 13 Dec 2019 11:21:25 +0800</pubDate><description><![CDATA[重定向

echo hello &gt; test.txt 这样控制台就不会输出hello了，而是把输出重定向到test.txt文件中了
echo hello &gt;&gt; test.txt &gt;&gt; 是在文件后面追加 &gt; 是覆盖
$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误，其他任何值表明有错误)

所以要判断程序最后执行是否成功可以用这样的命令
i...]]></description><category></category></item><item><title><![CDATA[oracle-trunc函数]]></title><link>https://blog.youkuaiyun.com/dscfirst/article/details/103469312</link><guid>https://blog.youkuaiyun.com/dscfirst/article/details/103469312</guid><author>dscfirst</author><pubDate>Tue, 10 Dec 2019 10:12:18 +0800</pubDate><description><![CDATA[在写存储的时候难免会有一些对时间的处理，今天来介绍一下oracle中对于时间处理的函数


to_char

将日期转换为特定格式的字符串
to_char(sysdate,‘yyyy-mm-dd’)
to_char(sysdate,‘yyyymmdd’)
to_char(sysdate,‘yyyy’)获取年
to_char(sysdate,‘mm’)获取月
to_char(sysdate,‘dd...]]></description><category></category></item></channel></rss>