NStack 开源项目教程
1. 项目介绍
NStack 是一个面向数据分析的计算平台,旨在简化数据集成、代码发布以及将它们连接在一起的过程。通过 NStack,用户可以将不同的数据源(如数据库、第三方 API 或 HTTP 端点)转换为类型化的记录流。用户还可以将本地代码发布为云上的函数,并使用 NStack 的脚本语言将这些流与函数组合在一起。NStack 自动管理所有底层基础设施,使用户能够专注于数据科学而非运维。
NStack 提供了端到端的数据科学软件生命周期管理,包括共享和重用、可重复性、版本控制和运行时隔离。
2. 项目快速启动
2.1 CLI 安装
NStack CLI 提供了适用于 Linux、Windows 和 macOS 的自包含可执行文件。您可以从 NStack 发布页面 下载相应的二进制文件。
macOS 安装
$ brew tap nstack/nstack
$ brew cask install nstack-cli
Linux 安装
使用 RPM 包安装:
dnf install https://github.com/nstack/nstack/releases/v[version]/nstack-cli-[version]-x86_64.rpm
使用 DEB 包安装:
wget https://github.com/nstack/nstack/releases/v[version]/nstack-cli_[version]_amd64.deb
dpkg -i nstack-cli_[version]_amd64.deb
apt-get install -f
2.2 编译源码
如果您想从源码编译 NStack CLI,您需要安装 Haskell 的 Stack 构建工具。
# 首次编译时需要运行 stack setup
stack setup
stack build nstack-cli
# 安装到用户本地可执行目录
stack install nstack-cli
2.3 服务器安装
PaaS 服务
NStack 提供了一个免费的 PaaS 服务,供用户进行演示使用。您可以通过以下命令注册并开始使用:
nstack register <username> <email>
自托管服务器
您也可以安装自己的 NStack 服务器。NStack 提供了适用于 AWS EC2 的 AMI 和适用于其他虚拟机的原始磁盘映像。这些资源可以在 NStack 发布页面 找到。
3. 应用案例和最佳实践
3.1 生产化模型
用户可以将本地开发的模型(如 Python 中的随机森林分类器)发布到云端,并将其连接到流系统、数据库或数据湖。整个过程可以在 10 分钟内完成。
3.2 数据集成
用户可以将不同的数据源(如第三方 API、遗留基础设施或数据库)转换为类型化的结构化记录流,并将其组合在一起。例如,用户可以在云端设置一个工作流,将 Twitter Ads API 的数据导入数据湖,并在传输过程中进行建模。
4. 典型生态项目
4.1 NStack 示例项目
NStack 提供了多个示例项目,用户可以克隆并立即使用。这些示例包括:
- Basic examples: 展示了如何创建方法并将它们组合成工作流。
- nstack: 包含了一些 NStack 实用模块,如上传到 S3 和处理图像的方法。
- iris: 展示了如何使用 scikit-learn 构建更复杂的模块。
- movies: 展示了如何从多个独立服务中构建复杂的工作流,处理 IMDB 数据库中的电影数据。
这些示例项目可以帮助用户快速上手 NStack,并了解其强大的功能和灵活性。