1. 大数据初识

大数据

  • 狭义上:使用分布式技术完成海量数据的存储、处理、计算、分析、挖掘、可视化等任务,得到数据背后蕴含的价值。
  • 广义上:大数据也是数字化时代、信息化时代的的基础(技术)支撑,以数据为生活赋能。

大数据5V特征:

  • Volume(数据量大)
  • Variety(数据类型多)
  • Velocity(数据增长快)
  • Value(数据价值大)
  • Veracity(数据真实性)

大数据技术生态:

  • 数据采集传输:Flume、Sqoop、Kafka、Pulsar
    • Flume:日志采集工具
    • Sqoop:数据迁移工具
    • Kafka:消息队列
    • Pulsar:分布式消息发布/订阅传递平台
  • 数据存储:HDFS、HBase、Cassandra、MongoDB
    • HDFS:分布式文件系统
    • HBase:分布式列式存储数据库
    • Cassandra:分布式NoSQL数据库
    • MongoDB:文档型数据库
  • 数据处理:MapReduce、Hive、Spark、Flink 等分布式计算框架

Hadoop的功能组件

  • HDFS:分布式文件系统
  • MapReduce:分布式计算框架
  • YARN:资源调度框架
  • HBase:分布式列式存储数据库
  • Hive:数据仓库工具
  • Pig:数据流处理工具
  • Zookeeper:分布式协调服务
  • Flume:日志采集工具
  • Sqoop:数据迁移工具
  • Kafka:消息队列
  • Pulsar:分布式消息发布/订阅传递平台

Hadoop的架构

  • Client:客户端,提交作业
  • NameNode:主节点,管理元数据
  • DataNode:数据节点,存储数据

基础

常用标准库

  • os : 提供与操作系统交互的接口
  • sys : 提供对Python解释器的访问
  • time : 提供时间相关的函数
  • datetime : 提供日期和时间相关的函数
  • json : 提供JSON数据的解析和生成
  • pickle : 提供对象的序列化和反序列化
  • re : 提供正则表达式的匹配和替换
  • hashlib : 提供哈希算法的实现
  • collections : 提供各种数据结构的实现,如列表、字典、集合等
  • heapq : 提供堆队列的实现
  • bisect : 提供二分查找算法的实现
  • array : 提供数组数据结构的实现
  • math : 提供数学函数的实现
  • random : 提供随机数生成和分布函数的实现
  • statistics : 提供统计函数的实现
  • string : 提供字符串操作函数的实现
  • struct : 提供二进制数据打包和解包函数的实现
  • decimal : 提供十进制浮点数运算的实现
  • fractions : 提供有理数运算的实现
  • weakref : 提供弱引用的实现
  • contextlib : 提供上下文管理器的实现
  • unittest : 提供单元测试框架的实现
  • doctest : 提供文档测试的实现
  • logging : 提供日志记录的实现
  • argparse : 提供命令行参数解析的实现
  • subprocess : 提供子进程管理的实现

常用模块

  • pandas : 提供数据分析和处理的功能
  • numpy : 提供数值计算的功能
  • matplotlib : 提供数据可视化的功能
  • scipy : 提供交互式计算环境的功能
  • seaborn : 提供数据可视化的功能,基于matplotlib
  • scikit-learn : 提供机器学习算法的实现
  • tensorflow : 提供深度学习算法的实现
  • keras : 提供深度学习算法的实现,基于tensorflow
  • pytorch : 提供深度学习算法的实现
  • xgboost : 提供梯度提升算法的实现
  • lightgbm : 提供梯度提升算法的实现

机器学习常用库

  • scikit-learn : 提供机器学习算法的实现,如分类、回归、聚类、降维等
  • H2O : 提供机器学习算法的实现,支持分布式计算
  • Statsmodels : 提供统计建模和数据分析的功能
  • NLTK : 提供自然语言处理的功能
  • SpaCy : 提供自然语言处理的功能,基于Python
  • Gensim : 提供主题建模和文档相似性计算的功能
  • OpenCV : 提供计算机视觉的功能

深度学习常用库

  • TensorFlow : 提供深度学习算法的实现,如卷积神经网络、循环神经网络等 谷歌
  • Keras : 提供深度学习算法的实现,基于TensorFlow
  • PyTorch : 提供深度学习算法的实现,基于Python Facebook
  • MXNet : 提供深度学习算法的实现,支持分布式计算 Apache
  • Caffe : 提供深度学习算法的实现,支持卷积神经网络
  • Theano : 提供深度学习算法的实现,支持符号计算
  • Chainer : 提供深度学习算法的实现,支持动态计算图
  • PaddlePaddle : 提供深度学习算法的实现,支持分布式计算 百度

大数据常用组件

  • Hadoop : 提供分布式存储和计算的功能
  • Spark : 提供分布式计算的功能,支持内存计算
  • Hive : 提供数据仓库的功能,支持SQL查询
  • HBase : 提供分布式数据库的功能,支持实时读写
  • Flink : 提供实时计算的功能,支持流处理和批处理
  • Storm : 提供实时计算的功能,支持流处理
  • Kafka : 提供消息队列的功能,支持高吞吐量和实时处理
  • Elasticsearch : 提供搜索引擎的功能,支持全文搜索和数据分析

环境工具

Anaconda 是一个用于科学计算的Python发行版,它包含了大量的科学计算库,如NumPy、Pandas、Matplotlib等,以及用于数据可视化的库,如Seaborn、Plotly等。Anaconda还包含了用于机器学习和深度学习的库,如scikit-learn、TensorFlow、PyTorch等。
miniforge 是一个轻量级的Python发行版,它包含了conda包管理器和Python解释器,以及一些常用的科学计算库,如NumPy、Pandas、Matplotlib等。miniforge还包含了用于数据可视化的库,如Seaborn、Plotly等。miniforge还包含了用于机器学习和深度学习的库,如scikit-learn、TensorFlow、PyTorch等。