自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SQL Server探索

探索SQL Server,分享知识

  • 博客(449)
  • 收藏
  • 关注

原创 to_date函数在hive、presto、spark中的区别

to_date函数在 hive、presto、spark中都有,但是差别还是挺大的。1、hive从select to_date('20220501','yyyymmdd')报错:org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: SemanticException [Error 10015]: Line 1:15 Arguments length mismatch

2022-06-01 13:39:14 3696 1

原创 Windows平台搭建Spark开发环境(Intellij idea 2020.1社区版+Maven 3.6.3+Scala 2.11.8)

在开始之前,需要说明的是 要跑通基本的wordcount程序,是不需要在windows上安装 hadoop 和spark的,因为idea在跑程序的时候,会按照 pom.xml配置文件,从指定的 repository源,按照properties指定的版本,下载dependency中指定的依赖包 。如果需要在本地通过 spark-shell,或者 运行开发完的包,那么就需要完整的hadoop 和spark环境,就需要把这两个都安装好。一、需要安装的软件版本 及 下载地址jdk 1.8 :ht.

2021-07-23 13:50:42 4118 4

原创 SQL Server获取表的元数据

最近客户需要数据库中表的数据字典,也就是需要表名、列名、列的数据类型及长度等信息。通过下面的sql,可以抓取到表的这些基本信息,注意 不包含视图的信息:SELECT D.NAME AS TABLE_NAME, A.column_id , A.NAME AS COLUMN_NAME, CASE WHEN A.IS_IDENTITY=1 THEN '√ ' ELSE '' END AS IS_IDENTITY, isnull(CASE WHEN x.is_primary_key=1 and

2020-11-10 11:44:05 925

原创 数据仓库之缓慢变化维度处理

当维度数据发生变化时,有多种处理方式,一般会用缓慢变化维类型2来处理,也就是当维度属性发生变化时,新生成1行,同时添加 开始日期,结束日期 。比如: 业务系统中的 用户表:userId,mobile,regDate111,12345,2020-01-01222,11111,2020-02-01用户111在3月2号登录系统,修改手机号为 12222,那么缓慢变化维类型2来处理后,数据仓库中的 用户表:userId,mobile,regDate,startDate,endDate111,123

2020-11-02 17:39:18 1041

原创 接口逻辑实现的总结

最近在开发一个KA系统的接口逻辑。这个逻辑最主要的是把抓取到的业务数据,按照匹配关系,生成匹配后的数据,放到csv文件,文件命名规则是 经销商编码+业务日期(客户BI系统按照 经销商编码+业务日期 作为文件名来覆盖历史数据),再把相同业务日期的csv文件 生成压缩包,最后把压缩包回传到客户的sftp。其中最主要的就是把原始抓取的数据,按照结存版或者最新的匹配关系,找到匹配后的标准产品和门店。正常情况下,除了最近1个月会重新刷新外,已结存数据是不会变化的,但实际上还有下面几个情况会导致数据变化:

2020-10-30 12:44:30 1616

原创 Tableau饼图

饼图最主要是设置 标记中的 颜色、角度。效果如下:标签放到饼图内:

2020-08-18 12:49:22 1238 3

原创 Tableau用多线图展示多个指标

Tableau多线图,是指在一个图中显示多条线,而每条线展示不同的指标,同时给不同线条标记不同的颜色,以示区分。这种线图的展示方式 ,只适合指标较少的情况,如果要展示的指标很多,那么图上就会有很多不同颜色的线,显得很乱。效果如下图:变化一下线的展示形式:...

2020-08-17 14:13:58 2338

原创 Tableau 圆柱条形图的两种实现方法

默认情况下 Tableau中的条形图的 两侧是 方形的,不是圆弧形的。下面通过2种方法来实现:1、度量值中包含了:0、销售额,标记 选择 线,就可以实现,效果更好2、和第1张图的区别是,需要在 列中增加 销售额,这样形成了第2个图,图2需要把标记设置为 条形图,在通过 选择 双轴,来合并两个图,效果不是太好,特别是右侧 圆点和 条形图右侧的方形 不一定契合。。。...

2020-08-17 14:08:16 1062

原创 通过Python计算组合数

最近在开发一个报表,其中的指标要根据 所选择的 维度及属性字段,来动态计算,也就是没办法预先把结果算好。维度及属性字段共29个,那么总共产生的组合个数为:29个中选1个的组合数,29个中选2个的组合数。。。,直到 29中选择29个的组合数,把这些组合数相加,都是总的组合数。那么这29个字段的任意组合,到底有多少种可能呢?之前我预估大概是千万级,下面用python来算一算:import maths =0for i in range(1,30): n,m = 29,i r

2020-08-13 10:51:35 3587 2

原创 Tableau中国地图

Tableau自带标准中国地图 效果如下:使用了 Tableau Public 2020.1版本。

2020-08-06 18:16:14 4518 1

原创 Tableau 仪表板例子2

采用Tableau自带数据源:Rooms Available,,模仿制作的仪表板,效果如下:

2020-08-03 15:16:56 902

转载 Tableau锚点区间分析

效果如下:

2020-07-23 11:41:45 335

原创 数据仓库架构

1、基础架构2、衍生架构3、kimball架构4、混合架构

2020-07-10 14:34:56 218 1

原创 Tableau Prep使用

下载了 Tableau Prep 2019.1.4 版本,安装后,注册使用14天的试用版。。。1、连接数据源2、创建数据流,如下图 一共创建了2个数据流,分别存到2个不同的csv文件:...

2020-07-10 14:34:01 982

原创 excel中引用power bi模型数据

参考文章地址https://mp.weixin.qq.com/s/nONp2dMgQVwhyBUV8eqv8Q1、在excel中启用powerpivot插件excel中 file -》 options -》 Add-Ins -》 底部的 Manage:COM Add-Ins 点击 Go,选择 Microsoft Office PowerPivot for Excel 2013....

2020-07-10 14:04:03 991

原创 Tableau 仪表板例子1

采用Tableau 自带的数据源 Sample - Coffee Chain ,模仿制作的仪表板,效果如下:

2020-07-08 16:17:38 1114

原创 sql优化之:批量处理和分批处理

周五按照客户要求,修改任务参数,重新抽取1-5月的数据,默认情况下只会最近2个月的数据。到了周六,发现任务从早上9点到下午4点,持续了7个小时,考虑到之前一次同步4个月的数据也就是3个小时左右,正常应该早就跑完了。于是把任务给kill掉了,于是从下午4点开始rollback,还好晚上10点回滚完了。。。这次由于一次同步大量数据,导致任务运行失败的问题,我想了几点影响因素:1、这次任务为什么跑了7个小时仍然没跑完?经过监控,发现任务在近12点时,就已经运行到最后一步了,只要把数据inser

2020-06-04 14:49:49 1304

原创 Power BI产品帕累托分析

效果图一:说明:1、x轴为每个产品的销售金额,按照从大到小排序2、y轴为这些产品累积的销售金额占比,也就是 到产品的累积销售金额 除以 所有产品总的销售金额3、红色框部分表示,累积销售金额占比大于80%,箭头部分表示截止的产品,也就是说到这个产品为止,累积销售金额占比大于80%效果图二:说明:1、这张图和上一个图相比,不在显示每个产品的销售金额,而是增加了1个指标:累积产品占比,也就是按照 销售金额从大到小排序,第1个产品就是1,第2个产品就是2,以此类推,然后把 这个

2020-06-01 18:40:44 1069

原创 Centos 7中编译spark 2.4.4源码

1、安装centos 7,修改 vi /etc/sysconfig/network-scripts/ifg-eno16777736 文件,设置静态ip,重启网络 service network restart 2、修改机器名vi /etc/hosts 原始的内容删掉,增加:192.168.153.4 hadoop000192.168.153.4 localhostvi /et...

2019-11-21 13:53:28 210

原创 Notepad++使用心得

一开始并不知道有Notepad++这个工具,后来看到同事在用,看上去挺好用的,就下载了来用。在用的过程中,有2个心得:1、设置背景颜色通过 工具 -》语言格式设置 -》点击 色彩样式 中的 背景色 -》More Colors -》 色调80,饱和度91,亮度180 -》勾选 使用全局背景色,点击 保存并关闭 ,就好了。这样设置的颜色比较柔和,也不会太暗 或者 太亮,眼睛不会太累。...

2019-11-12 15:13:08 1856

原创 在集群上提交pyspark开发的spark应用

在集群上提交pyspark开发的spark应用,就是通过如下方式提交代码:spark-submit --master spark://192.168.153.6:7077 --py-files /root/wordcount.zip /root/wordcount.py其中 --master 指出了集群的地址和ip, --py-files指定了要执行的代码的zip压缩包,最后1个参数指...

2019-11-07 13:52:38 970

原创 java版的hello world

今天写了java版的hello world,但是发现报错,代码如下:public class HelloWorld { public static void main(String[] args) { Thread.sleep(1000); System.out.println("hello,world!"); ...

2019-11-06 18:25:14 413

原创 intellij idea常用快捷键记录

alt+enter会显示要导入的包名,可以选择。还可以用来选择 add exception to method signature 方法抛出异常。还可以选择 surround with try/catch 给代码增加异常处理,不过用 ctrl+alt+T更强大,还可以选择是否是if else等。...

2019-11-06 17:59:06 559

原创 windows10下python开发spark应用的环境搭建

环境搭建主要涉及到3方面,第1是安装,第2是环境变量的配置,第3是验证安装和配置是否成功,总的涉及到以下5个部分。环境变量配置是在 此电脑 -》 属性 -》 高级系统设置 -》 高级 -》 环境变量 中最下面的系统环境变量中 可以进行设置。1、java从官网下载,这里下载的是1.8.0_121版。环境变量配置:新增JAVA_HOMEC:\Program Files\J...

2019-11-06 16:37:20 1664

原创 【Scala】泛型函数

scala中泛型函数的类型用 一个字母表示,下面代码中用T来表示,写成其他的,比如A 也是可以的。在调用时,需要指定类型 ,在函数定义中用到数据类型要用 T表示。object Test { def main(args: Array[String]) { //println( add[Int](1,2) ) //println() println( add[St...

2019-09-23 15:28:13 897

原创 【Scala】函数:偏应用函数、函数柯里化Currying

1、偏应用函数偏应用函数就是一个表达式,可以在调用函数时,只需要提供部分参数 或者 不需要提供参数。下面展示了普通函数log 和 偏应用函数logWithDateBound,本质上都是通过 log来实现的:object Test { def main(args: Array[String]) { val date = new java.util.Date l...

2019-09-23 15:18:24 333

原创 【Scala】函数:匿名函数、高阶函数、嵌套函数

1、匿名函数定义方法:var 函数名 = (参数列表) => 函数的实现代码下面的代码实现了 匿名函数、不带参数的匿名函数:object Test { def main(args: Array[String]) { //嵌入在main函数中的 函数 //f_inc函数式 def f_inc = new Function2[Int, Int, ...

2019-09-23 13:10:45 274

原创 【Scala】函数:默认参数值、指定函数参数名、可变参数

scala函数的基本定义如下:def 函数名 ( 参数列表) : 返回指的类型 = { 函数的实际操作 [return] 表达式}需要注意的是 如果没有返回值,那么返回值类型就是Unit,当然也可以省略。另外,返回值的时候,return关键字 可以省略。下面代码实现了 默认参数值,指定参数名调用,以及 可变参数:object Tes...

2019-09-23 11:40:21 681

原创 【Scala】Option类型

Option类型表示一个值是可选的,有值 或 没有值,所以翻译一下就是 选项类型。Option[T]是一个类型为T的可选值的容器,如果存在,那么Option[T]就是 Some[T],如果不存在就是 None..创建一个Map,获取某个key对应的value,key有对应值就会返回Some(...):scala> val m = Map("spark"->"scala",...

2019-09-23 10:50:10 378

原创 【Scala】数组Array、列表List、集合Set、元组Tuple

1、数组数组可以用来存储固定大小的同一个类型的元素。定义之后可以通过下标来访问元素值,下标从0开始。下面的代码定义了一个可以存放2个元素的 字符串数组(默认情况下会自动import 长度不可变化的数组),当给下标为2的元素赋值时会报错,因为越界了:scala> var x:Array[String] = new Array[String](2)x: Array[Stri...

2019-09-21 17:53:04 1079

原创 【Scala】闭包

闭包是一个函数,这个函数的返回值 取决于 函数外部 变量,可以一个或者多个变量。这个概念有点不好理解,下面一步一步来说明。首先,定义一个匿名函数:val func_closure = (i:Int) => i * 10 * 20,那么 func_closure(1) =1*10*20=200然后,闭包就是在这个基础上,把 匿名函数中的常数 10,20变为 定义在匿名函数外面的...

2019-09-21 16:17:41 201

原创 【Scala】迭代器Iterator

scala中的迭代器用Iterator来实现,迭代器是访问集合的一种方法,但不是集合本身。通过hasNext方法能判断集合中是否还有元素,通过next方法可以获取集合中的下一个元素。此外,迭代器还有很多方法,比如:max,min,mkString 等。可以通过循环来遍历一个迭代器,但是要注意的是一旦遍历完,对同一个迭代器的再次遍历,会返回一个 空迭代器,也就是empty iterato...

2019-09-21 15:33:35 605

原创 【Scala】hello world

通过idea创建项目,步骤如下:Create New Project -》Maven -》勾选 Create form archetype,然后 选择 org.scala-tools.archetypes:scala-archetype-simple -》Next -》GroupId 和ArtifactId都写成 Test -》 Next-》 Next-》 Finish。scala ...

2019-09-20 16:46:56 270

原创 python实现累计的本金和收益

购买一个保险产品,假设每年缴费为20000元,假设交20年,那么20000元交20年,总的金额就是400000。那么20年后是多少呢?这里假设年利率为4%。用python来计算,代码如下:s = 20000x = 0i = 1v=0for i in range(20): x= s*(1.04**i) print(x) v += xpr...

2019-09-20 14:34:28 3282

原创 Power BI中row函数+union函数实现SQL Server中的虚拟表

Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。DAX中的很多功能可以与SQL对应,但差异也很大。 本文要讲的是用 row函数+union函数实现SQL Server中的虚拟表。 1、sql server中的虚拟表不是一张真实存在表,是只存在于当前...

2019-01-31 15:22:55 3523 1

原创 Power BI中表构造函数(Table Constructor)实现SQL Server中的虚拟表

Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。DAX中的很多功能可以与SQL对应,但差异也很大。 本文要讲的是用 表构造函数(Table Constructor)实现 sql server中的虚拟表。 1、sql server中的虚拟表不是一张真...

2019-01-31 15:02:50 1410

原创 Power BI中datatable函数实现SQL Server中的虚拟表

 Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。DAX中的很多功能可以与SQL对应,但差异也很大。 本文要讲的是用 datatable函数实现 sql server中的虚拟表。 1、sql server中的虚拟表不是一张真实存在表,是只存在于...

2019-01-31 14:32:52 2458

原创 Power BI中calculatetable函数实现SQL Server中的where

Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。DAX中的很多功能可以与SQL对应,但差异也很大。 下载Power BI 以及 输入实验数据,请参考前一篇文章: Power BI中selectcolumns函数+related函数实现SQL Server中...

2019-01-31 13:14:43 3292

原创 Power BI中summarizecolumns函数、sum函数实现SQL Server中的group by分组汇总

Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。DAX中的很多功能可以与SQL对应,但差异也很大。 下载Power BI 以及 输入实验数据,请参考前一篇文章: Power BI中selectcolumns函数+related函数实现SQL Server中...

2019-01-31 11:43:43 12698 1

原创 Power BI中filter函数实现SQL Server中的where

 Power BI是微软开发的一款功能非常强大的的BI工具,可以制作非常美观的报表,但这个工具的核心是DAX,翻译为中文就是 数据分析表达式,有点类似于excel函数,但又很不一样。DAX中的很多功能可以与SQL对应,但差异也很大。 上篇文章中讲到用power bi实现sql中的join,代码如下:SELECTCOLUMNS('销售表', "产品编...

2019-01-31 10:55:47 4285

空空如也

空空如也

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

TA关注的人

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