离线数据分析之 人物兴趣取向分析(一)项目介绍+数据湖介绍

一、大数据介绍

(一)大数据趋势

  1. 不局限于Hadoop,格局小了
    • 还有Cloud作为存储平台(new data lake) 
  2. 使用Nosql接管
    • hbase mongodb cassandra
  3. Spark & ML 
  4. 流式处理 + 批处理 => 结合
    • Spark 2.0+ & Flink 1.9+
  5. Variety -> drives big data(最重要)
    • 最终都要转成结构化数据
  6. 实时处理&分析成为主流
    • Spark-Streaming/Kafka-Streaming/Flink-Streaming

  7. 数据仓库 & BI is getting hotter
  8. cloud -> new Data Lake

(二)数据来源

  1. 商务数据
  2. logs
  3. 合伙人数据
  4. 爬虫
  5. email
  6. 会议
  7. 短信
  8. 消息板
  9. IOT/machine data 设备数据(使用水电的情况调整价格)

(三)大数据工具

二、系统概述

(一)项目介绍

① 项目链接:https://www.kaggle.com/c/event-recommendation-engine-challenge

② 项目描述:使用actions,event,人口数据 => 预测users会对哪些events感兴趣
③ 项目需求:

  1. 建模预测每个人感兴趣的events
  2. 对今后events提出指导方针
  3. 可视化反映users的兴趣和age/gender/...的关系

④ 项目背景:
周期性的产生数据

⑤ 项目定义:

  1. new data -> train data 更新 -> model应该重建 & 优化
  2. train data可能alone & come with 其他数据
  3. data cleaning 有必要
  4. 商业驱动:快速了解用户对即将到来的events的兴趣,并根据预测结果来调整events的内容
  5. 预测后,用户的兴趣与age/gender/events的分类/events发生时间等会被可视化
  6. 所有任务均自动化

(二)项目方案

一、 数据模型

二、 应用架构 

方案一:Oozie自动化

flume:定时吞吐 -> kafka削峰,正则过滤  -> 再到kafka(用kafka streaming变换如下) (流不等于实时流)

-> 存储 -> hive来映射hbase(多列组合)-> pyspark ml -> model存储到hadoop
                 hive -> 维度表 -> 进入mysql
第二轮mysql通过ML model预测数据 获得事实表

方案二:nifi自动化

 

(三)项目目录

  1. 项目介绍
  2. 企业数据湖
  3. 数据抽取:Kafka/NiFi/Flume
  4. 数据存储:HBase/Cassandra/MongoDB
  5. 数据变换:Hive/Spark SQL
  6. 协调管理ETL工作流:Oozie
  7. 介绍推荐系统 & ML
  8. 建user-interest预测模型 & 使用ML pipeline预测
  9. 可视化BI model:Tableau
  10. 数据监管:Atlas
  11. Redis介绍

(四)使用工具

  1. HDFS
  2. kafka/NiFi/Flume
  3. HBase/Hive
  4. Spark/Spark ML
  5. Cassandra/MongoDB/Redis
  6. BI Tool Integration
  7. Atlas

三、数据湖介绍

>>>

国内情况:

  • 阿里:“数据中台”,倾向数仓的吞吐管理+软件的管理
  • 华为:“数据工厂”,倾向数据湖

<<<

(一)什么是数据湖?

--大型存储仓库和处理环境
--企业范围内的数据管理平台,分析来自不同数据源的源数据

  • 先load data进Hadoop平台,数据分析/挖掘基于此
  • 构建数据湖是公司开展业务的第一步

                 国内:Application-Driven(基于应用的数据)

                 国外:Data-Drivem(先有数据后有应用)

(二)数据湖 vs Hadoop

  1. 数据湖是一种系统中存储的方法论,便于整合各种结构形式的数据

    •  包括来自于关系型数据库中的结构化数据(行和列)、半结构化数据(如CSV、日志、XML、JSON)、非结构化数据(如email、文档、PDF等)和二进制数据(如图像、音频、视频)

  2. Hadoop是一种数据湖的实现。
  3. 其他实现有Azure Data Lake Store/Cloud计算环境

(三)3 key attributes

  1. Collect everthing: raw data & processed data(标准化/临时表)
  2. Dive in anywhere:可以在任何地方找到数据
  3. Flexible access:数据湖支持跨共享基础设施的多种数据访问模式:批处理、交互式、在线、搜索、内存中和其他处理引擎
    •  有权限的管理数据

(四)EDW VS EDL

一、传统EDW(数据仓库)

  1. 设计,收集需求
  2. 数据模型
    •  facts and dimensions
  3. ETL >>> extract/transform/load data to warehouese
  4. BI tools -> reports

二、EDW和EDL对比

三、why USE EDL?

EDW :
  • 数据过时
  • EDW可以针对主题,直接捞数据,查的快 (企业可以结合EDL+多个EDW)

EDL :
  • 容易数据集成
  • 不利于实时查数据
  • adapt easily to changes  

四、企业架构

(五)分层

一、物理分层

二、数据分层

数据导入-> 验证,    -> 数据公开 ->数据转化
            原始数据录入   public           抽取
catalog 分类
数据安全性处理 protect 对字段加密

 

posted @ 2020-11-30 11:48  PEAR2020  阅读(464)  评论(0编辑  收藏  举报