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