【Java查漏补缺(二)】面向对象
Retrospection
Java中方法的定义:
1234修饰符 (public static) 返回值的数据类型 (void/int/boolean...) 方法名(数据类型 参数名1, 数据类型 参数名2) { 方法体; return 具体的返回值;(如果返回值是void类型可以不写)}
其中修饰符,可以简单的理解为: public static(后续会说的)
具体案例:
1234public static int getSum(int a, int b){ int sum = a + b; return sum;}
方法重载OverLoaded
简单理解方法重载: 就是在同一个类中, 出现方法名称相同, 但是参数列表不同(参数个数, 参数的数据类型不同)两个或两个或者多个方法
1234567891011121314151617181920212223242526272829303132/*方法重载: 在同一个类中, 出现方法名称相同, 但是参数列表不同的(个数不同,对应的数据类型不同)的两个或多个方 ...
【Python查漏补缺(四)】面向对象(全)
何为面向对象: 就是一种编程思维.
面向对象(ObjectOriented)的三个基本特征是: 封装(Encapsulation),继承(Inheritance)和多态(Polymorphism)
Retrospection
类: 类是对一系列具有相同特征和行为的事物的统称,是一个抽象的概念,不是真实存在的事物.
定义方式是class 类名(Object)
特征即是属性
行为即是方法
对象: 对象是类创建出来的真实存在的事物,对象又名实例, 创建对象的过程也叫实例化对象。
创建对象的方式: 对象名 = 类名()
Q:为什么定义(父)类需要在括号中写Object
A: 因为Python中,所有类默认继承object类(顶级类或者基类),其他子类叫做派生类
Q:定义类中的方法比如: def wash(self)其中的self是什么意思呢?
A: self指的是调用该函数的对象
Tips
三个重要的知识点
定义类中的方法的时候,方法名后的括号中要加self
print(对象名)这句话的意思就是打印对象的内存地址
对象名.方法名()这就是调用函数中的方法
Demo1 ...
【Python查漏补缺(三)】面向对象
程序员是要讲求生产力的,一天的练习,晚上再回顾一下.
类和对象*12345678910111213# 定义类class Washer(): # 定义方法 def wash(self): print("我会洗衣服") print(self) # 相当于直接打印函数的地址# 创建对象haier1 = Washer()# 打印函数在内存中的地址print(haier1)# 调用函数中的方法haier1.wash()
添加和获取对象的属性123456789101112# 定义类class Washer(): # 定义方法 def print_info(self): print(f"洗衣机的宽度是{self.width}") print(f"洗衣机的高度是{self.height}")# 创建对象haier = Washer()haier.height=100haier.width = 50haier.prin ...
【数仓从1到n】在线教育项目总结
step1: 需求分析(知道有哪些主题,哪些指标,哪些维度step2: 建模分析(是否要压缩,行/列存储,索引,分区,分桶step3: 建模操作,建库建表step4: 数据采集(MySQL业务数据库 -> Hive(ODS层 如何验真: 总量校验,条件校验,抽样校验step5: 数据清洗转换(空值过滤,空值转换,列值裁剪,切割step6: 数据分析操作,结合主题,维度指标完成各种需求step7: 数据导出操作,导出分析后的结果数据到mysql中,之后对接FineBI进行可视化展示
需求分析
需求一: 计期内,新增意向客户(包含自己录入的意向客户)总数。
12345678910111213指标: 意向客户数维度: 时间维度: 年 月 天 小时 新老维度: 线上线下:涉及到表: customer_relationship (意向表)涉及到字段: 时间维度: create_date_time 注意: 此处有转换操作 需要将 create_date_time 转换 yearinfo monthinfo dayinfo 指标字段: ...
【数仓从1到n】意向客户主题看板
金典七步
step1: 需求分析(知道有哪些主题,哪些指标,哪些维度
step2: 建模分析(是否要压缩,行/列存储,索引,分区,分桶
step3: 建模操作,建库建表
step4: 数据采集(MySQL业务数据库 -> Hive(ODS层 如何验真: 总量校验,条件校验,抽样校验
step5: 数据清洗转换(空值过滤,空值转换,列值裁剪,切割
step6: 数据分析操作,结合主题,维度指标完成各种需求
step7: 数据导出操作,导出分析后的结果数据到mysql中,之后对接FineBI进行可视化展示
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354ODS层(建模规则为: edu_ods.表名-- 表有: 前两张事实表,中间6张维度表,最后1张访问咨询表(这里没写web_chat_ems是访问咨询主题中的表) 客户关系表 customer_relationship 客户线索表 customer_clue 客户表 c ...
SVN Tools Git tutorial
This guide is about Collaborative coding.
Correspondingly, this process can be divided into many stages.Steps are as follows.
If you wanna to quickstart, you should know your collaborator’s Public Key and add your SSH KEY profile.
And make sure this SSH KEY is not be used on this github account.
Create Repository
To put your project up on GitHub, you will need to create a repository for it to live in.
Learn to use and manage the repositories that allow you to store and collaborate on your proj ...
【数仓从1到n】访问咨询主题看板
项目流程
step1: 需求分析(知道有哪些主题,哪些指标,哪些维度step2: 建模分析(是否要压缩,行/列存储,索引,分区,分桶step3: 建模操作,建库建表step4: 数据采集(MySQL业务数据库 -> Hive(ODS层step5: 数据清洗转换(空值过滤,空值转换,列值裁剪,切割step6: 数据分析操作,结合主题,维度指标完成各种需求step7: 数据导出操作,导出分析后的结果数据到mysql中,之后对接FineBI进行可视化展示
需求分析提出需求
这一步就是根据需求把涉及到的表, 维度, 指标, 以及具体的维度字段, 维度字段提取出来
需求1- 总访问客户量
统计指定时间段内,访问客户的总数量。能够下钻到小时数据。
123456789101112131415维度: 时间维度: 年 季度 月 天 小时 指标: 总访问客户量 涉及到表: web_chat_ems_年_月 (事实表)涉及到字段: 时间维度: create_time 特点: 一个字段中涵盖了多个字段的数据 转换操作: 需要将 create_time 转换为 yearin ...
【数仓从1到n】Lecture
我们做的项目涉及到的软件架构: clouderaManager + HDFS + YARN + SQOOP + HIVE + HUE + OOZIE + FINEBI
架构流程:当前项目是基于clouderaManager构建CDH的大数据分析平台, 在此平台之上,我们搭建有HDFS YARN HIVE SQOOP OOZIE HUE Presto 等相关的大数据组件我们首先使用SQOOP从业务数据库中将数据导入到HIVE中, 在HIVE中构建数仓分层, 对数据进行ETL相关操作, 对数据进行了统计分析处理, 最后将统计分析的结果导出到Mysql数据库中, 然后通过FINEBI实现图表展示操作, 同时整个项目需要周期化运行的, 所以这里引入了OOZIE完成工作流定时调度操作, 当然采用OOZIE原因是因为我们基于HUE进行数据统计, 同时可以直接基于HUE对接oozie完成调度配置的
我将从项目的整个流程划分为4步
MySQL - ods - dwd - dwb - dm
Step1通过sqoop将业务数据库中的数据采集同步到在线教育数仓的ODS层中
Sqoop导入数据又四种方式 ...
INTERVIEW
b9a2f359a78cc900c6b7b98b312f9de9a44c2641dcc13ec609326ed238aca4e53bf05f11eef5584228a9b5b79b60d5491d9b4dd0740dfce2ab85f1eca195bc0306ca42ab974f670e80126916a543d2dff4c795284d02d2756b2d870874ad6e894e2550f8caefbc1ae525d745ae9026fbef1e9f78a39be16d7149f490ac8899f4f5b1b62b60160b81e9500d813e3971adf99d6b3eab9ed58af9ec1a4d992b4b2a413735db7390783f4369ec47b2e38c4e678a73cb0e1d6a6716018ffd308fa19a90fd7a845dc35170e7a6042531d5a1ce59862b719724e07b44dab2dc4a166078b5026e8dfb42629e2ba7ba4b2439a72672bfe0109d0c7cac3 ...
Git及数仓Interview补充
Github是什么我就不多说了,全国最大的同性交友平台(狗头!),用过的都懂!
其实本来是不想做这种教程的,网上的教程多得是.但是以后可能会用到吧.
博客园直达: https://www.cnblogs.com/liam-sliversucks/p/17464416.html
Git下载链接:https://git-scm.com/downloads
Git小乌龟下载链接:https://tortoisegit.org/download/
语言包下载链接:https://tortoisegit.org/download/
版本控制:
Git-2.13.0-64-bit.exe:Windows版本的Git工具安装包
TortoiseGit-2.4.0.2-64bit.msi:Git的可视化工具安装包
TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN.msi:TortoiseGit工具的汉化包
本地仓库构建
构建本地仓库构建有三种方式:
方式一:通过Git自带的图形化界面进行构建
鼠标右键,Git GUI Here,然后点第一个Create ...
