Scala基础语法
基础语法规则
区分大小写
Scala语言对大小写敏感;
类名
对于所有的类名的第一个字母要大写。如果需要使用几个单词来构成一个类名,每个单词的第一个字母要大写;比如:ListDemo
方法名
所有方法名的第一个字母用小写。如果需要使用几个单词来构成方法名,除第一个单词外每个词的第一个字母应大写;比如:getResult
程序文件名
Scala程序文件的后缀名是 .scala,程序文件的名称可以不与对象名称完全匹配。这点与Java有所区别。
备注:建议遵循 Java 的惯例,程序文件名称与对象名称匹配;
main()方法
Scala程序从main()方法开始处理,这是每一个S ...
Scala语言概况与环境准备
Scala语言概况
Scala语言起源
马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者。
主流JVM的Javac编译器就是马丁·奥德斯基编写出来的,JDK5.0、JDK8.0的编译器就是他写的。
长时间的编程之后,他希望发明一种语言,能够让写程序这样的基础工作变得高效,简单。
当接触到Java语言后,对Java这门语言产生了极大的兴趣,所以决定将函数式编程语言的特点融合到Java中,由此发明了Scala。
Scala语言特点
Scala是一门以 JVM 为运行环境并将面向对象和函数式编程的最佳特性结合在一起的静态类型编程语言。
Scala源代码会被编译成Java字节码 ...
数据仓库数据可视化
ADS => DataX => MySQL => 浏览器呈现
对统计数据进行展示,一般都是以图、表方式呈现;常见方式有 ECharts、HighCharts、G2、Chart.js 、FineBI等。本项目使用SSM(Spring + SpringMVC + MyBatis)、EChars
备注:
src/main/resources/jdbc.properties:jdbc连接信息
src/main/resources/log4j.properties:日志存放位置
MySQL中创建user表,添加信息
项目运行地址:http://localhost:8080/dwh/ ...
Griffin简介与安装部署
为什么要做数据质量监控
garbage in garbage out
1、数据不一致
企业早期没有进行统一规划设计,大部分信息系统是逐步迭代建设的,系统建设时间长短各异,各系统数据标准也不同。企业业务系统更关注业务层面,各个业务系统均有不同的侧重点,各类数据的属性信息设置和要求不统一。另外,由于各系统的相互独立使用,无法及时同步更新相关信息等各种原因造成各系统间的数据不一致,严重影响了各系统间的数据交互和统一识别,基础数据难以共享利用,数据的深层价值也难以体现。
2、数据不完整
由于企业信息系统的孤立使用,各个业务系统或模块按照各自的需要录入数据,没有统一的录入工具和数据出口,业务系统 ...
Atlas简介与安装部署
数据仓库元数据管理
元数据(MetaData)狭义的解释是用来描述数据的数据。广义的来看,除了业务逻辑直接读写处理的那些业务数据,所有其它用来维持整个系统运转所需的信息/数据都可以叫作元数据。如数据库中表的Schema信息,任务的血缘关系,用户和脚本/任务的权限映射关系信息等。
管理元数据的目的,是为了让用户能够更高效的使用数据,也是为了让平台管理人员能更加有效的做好数据的维护管理工作。
但通常这些元数据信息是散落在平台的各个系统,各种流程之中的,它们的管理也可能或多或少可以通过各种子系统自身的工具,方案或流程逻辑来实现。
元数据管理平台很重要的一个功能就是信息的收集,至于收集哪些信息,取决于 ...
Airflow任务集成部署
Airflow核心概念
DAGs:有向无环图(Directed Acyclic Graph),将所有需要运行的tasks按照依赖关系组织起来,描述的是所有tasks执行的顺序;
Operators:Airflow内置了很多operators
BashOperator 执行一个bash 命令
PythonOperator 调用任意的 Python 函数
EmailOperator 用于发送邮件
HTTPOperator 用于发送HTTP请求
SqlOperator 用于执行SQL命令
自定义Operator
Tasks:Task 是 Operator的一个 ...
Airflow简介与安装部署
Airflow简介
Airflow 是 Airbnb 开源的一个用 Python 编写的调度工具。于 2014 年启动,2015年春季开源,2016 年加入 Apache 软件基金会的孵化计划。
Airflow将一个工作流制定为一组任务的有向无环图(DAG),并指派到一组计算节点上,根据相互之间的依赖关系,有序执行。Airflow 有以下优势:
灵活易用。Airflow 是 Python 编写的,工作流的定义也使用 Python 编写;
功能强大。支持多种不同类型的作业,可自定义不同类型的作业。如 Shell、Python、Mysql、Oracle、Hive等;
简洁优雅。作业的定 ...
核心交易分析之Datax数据导出与小结
数据导出
ads.ads_trade_order_analysis 分区表,使用DataX导出到MySQL
在MySQL创建对应的表
12345678910111213drop table if exists dwads.ads_trade_order_analysis;create table dwads.ads_trade_order_analysis( areatype varchar(100), -- 区域范围:区域类型(全国、大 区、城市) regionname varchar(100), -- 区域名称 cityname varchar(100), -- 城市名称 ca ...
核心交易分析之ADS层建表及数据加载
需求:计算当天
全国所有订单信息
全国、一级商品分类订单信息
全国、二级商品分类订单信息
大区所有订单信息
大区、一级商品分类订单信息
大区、二级商品分类订单信息
城市所有订单信息
城市、一级商品分类订单信息
城市、二级商品分类订单信息
用到的表:
dws.dws_trade_orders_w
ADS层建表
123456789101112131415-- ADS层订单分析表DROP TABLE IF EXISTS ads.ads_trade_order_analysis;create table if not exists ads.ads_tra ...
核心交易分析之DWS层建表及数据加载
DIM、DWD => 数据仓库分层、数据仓库理论
需求:计算当天
全国所有订单信息
全国、一级商品分类订单信息
全国、二级商品分类订单信息
大区所有订单信息
大区、一级商品分类订单信息
大区、二级商品分类订单信息
城市所有订单信息
城市、一级商品分类订单信息
城市、二级商品分类订单信息
需要的信息:订单表、订单商品表、商品信息维表、商品分类维表、商家地域维表
订单表 => 订单id、订单状态
订单商品表 => 订单id、商品id、商家id、单价、数量
商品信息维表 => 商品id、三级分类id
商品分类维表 => 一级名称、 ...