开源工具
数据管理工具
关系型数据库:
- MySQL
- PostgreSQL
NoSQL 数据库:
- MongoDB
- Apache CouchDB
- Apache Cassandra
基于文件的系统:
- Hadoop 文件系统
- Ceph (云文件系统)
搜索工具:
- ElasticSearch:存储文本数据并创建搜索索引,以便快速检索文档。
数据集成与转换工具
ETL (抽取、转换、加载) 和 ELT (抽取、加载、转换):
- 数据精炼与清洗
常用工具:
- Apache AirFlow:工作流自动化和调度工具,最初由 Airbnb 创建。
- KubeFlow:在 Kubernetes 上运行数据科学管道。
- Apache Kafka:分布式事件流平台,由 LinkedIn 开发。
- Apache NiFi:提供可视化编辑器,用于数据流自动化。
- Apache SparkSQL:允许使用 ANSI SQL 并可扩展到大型计算集群。
- NodeRED:用于连接物联网 (IoT) 的可视化编辑器,支持 Raspberry Pi 等低资源环境。
数据可视化工具
编程库 vs. 用户界面工具:
带用户界面的库:
- Pixie Dust:通过界面简化 Python 中的绘图。
- Hue:从 SQL 查询创建可视化。
可视化 Web 应用程序:
- Kibana:与 Elasticsearch 配合使用,进行数据探索和可视化。
- Apache Superset:一个数据探索和可视化平台。
模型工具
模型部署:
- Apache PredictionIO:部署 Apache Spark ML 模型。
- Seldon:支持 TensorFlow、Apache SparkML、R 和 scikit-learn;在 Kubernetes 和 Redhat OpenShift 上运行。
- MLeap:部署 SparkML 模型。
- TensorFlow Service:提供 TensorFlow 模型服务,具有适用于嵌入式设备 (TensorFlow Lite) 和 Web 浏览器 (TensorFlow.js) 的版本。
模型监控:
- ModelDB:存储和查询机器学习模型元数据,支持 Apache Spark ML Pipelines 和 scikit-learn。
- Prometheus:一个多功能监控工具,用于模型性能监控。
模型性能与公平性:
- IBM AI Fairness 360:检测并减轻机器学习模型中的偏差。
- IBM Adversarial Robustness 360 Toolbox:检测并增强针对对抗性攻击的鲁棒性。
- IBM AI Explainability 360:通过解释模型决策并训练更简单的模型进行比较来提高模型透明度。
代码和数据资产管理工具
代码资产管理 (版本控制):
- Git:事实上的版本控制标准。
- GitHub
- GitLab:完全开源且可自行托管。
- Bitbucket
数据资产管理 (数据治理):
- Apache Atlas:支持数据治理和血缘。
- ODPi Egeria:为元数据存储库提供开放 API、类型和协议。
- Kylo:一个开源数据管理平台,为数据资产管理提供广泛支持。
开发环境
Jupyter:
- Jupyter Notebooks:支持交互式 Python 编程,并通过内核支持超过 100 种编程语言。
- Jupyter Lab:Jupyter Notebooks 的下一版本,更现代化、模块化,并增强了文件处理能力。
Apache Zeppelin:
- 类似于 Jupyter Notebooks,具有集成绘图功能。
RStudio:
- R 和统计学的开发环境,集成了对 Python 的支持。
Spyder:
- 受 RStudio 启发而开发的 Python 开发环境,集成了代码、文档和可视化。
集群执行环境
Apache Spark:
- 一个具有线性可伸缩性的批处理数据处理引擎,广泛应用于各行业。
Apache Flink:
- 专注于实时数据流处理,支持批处理和流处理。
Ray:
- 专注于大规模深度学习模型训练。
完全集成和可视化工具
KNIME:
- 具有拖放功能的可视化用户界面,用于数据集成、转换和可视化。可使用 R 和 Python 进行扩展,并支持 Apache Spark。
Orange:
- 比 KNIME 更易于使用但灵活性较低,支持重要的数据科学任务。