跳到主要内容

开源工具

数据管理工具

关系型数据库:

  • 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 更易于使用但灵活性较低,支持重要的数据科学任务。