【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】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导入数据又四种方式 ...
【数仓从1到n】访问咨询主题看板
项目流程
step1: 需求分析(知道有哪些主题,哪些指标,哪些维度step2: 建模分析(是否要压缩,行/列存储,索引,分区,分桶step3: 建模操作,建库建表step4: 数据采集(MySQL业务数据库 -> Hive(ODS层step5: 数据清洗转换(空值过滤,空值转换,列值裁剪,切割step6: 数据分析操作,结合主题,维度指标完成各种需求step7: 数据导出操作,导出分析后的结果数据到mysql中,之后对接FineBI进行可视化展示
需求分析提出需求
这一步就是根据需求把涉及到的表, 维度, 指标, 以及具体的维度字段, 维度字段提取出来
需求1- 总访问客户量
统计指定时间段内,访问客户的总数量。能够下钻到小时数据。
123456789101112131415维度: 时间维度: 年 季度 月 天 小时 指标: 总访问客户量 涉及到表: web_chat_ems_年_月 (事实表)涉及到字段: 时间维度: create_time 特点: 一个字段中涵盖了多个字段的数据 转换操作: 需要将 create_time 转换为 yearin ...
INTERVIEW
简历名称(如何命名)姓名 + 岗位 + 工作经验 (必选)+ 意向城市(可选) + 学历(可选)
比如张三- 大数据开发工程师-3年
1,找准定位
初级,1-3年,应届生基础扎实
高级,4-6年
专家级,7年-10年
更高级,技术影响力,业务影响力,管理能力
2,个人履历
个人背景 + 项目经历 + 工作经历(稳定向上)
漂亮的排版(Markdown)
3,技术栈突出重点,不要罗列(要专精),T字型(要有广度兼具深度,如果工作时间比较短,应该有深度,但广度就不是必须),逐年成长,由浅入深。
4,项目描述用技术性的语言描述业务项目,重点难点一定要有(写3-5个)
5,开放性问题解决方案,技术要点。能有创新的东西更好,需要咱有技术。
兴鑫商城项目文档1、自我介绍面试官你好,我叫xxx,来自黑龙江,就读于青岛恒星学院,之前在深圳有4年大数据开发经历,主要是做电商领域的离线这一块,今天来是看看有没有更好的机会,接下来就介绍一下我以前做的项目。
2、为什么做大数据项目一开始我们的业务数据存在mysql,oracle里,因为数据量指数级的增长,传统数据库无法解决海量数据的存储和计算问题 ...
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 ...
【数仓】数仓项目总结
Operational Data Store
知道ODS层的作用
掌握ODS层的四种数据导入方式Master the four data import methods of ODS layer
清晰流利地说出Sqoop的几个常用参数
ODS层作用负责临时存储数据,和源数据基本保持一致,从而采用orc+zlib
四种数据导入方式①全量同步 – 每天新增一个日期分区,同步并存储当天的全量数据,历史数据定期删除②全量覆盖 – 不需要分区,每次同步都是先删后写,直接覆盖③增量导入 – 每天新增一个日期分区,同步并存储当天的新增数据④新增及更新同步 – 每天新增一个日期分区,同步并存储当天的新增和更新数据
注意2,3,4咱们使用的比较多
Demo案例这里connect 后面是单引号,里面直接写jdbc:mysql://192.168.88.80:3306/yipin也是可以的
12345678/user/bin/sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=tru ...