跳转到主要内容

将DataFlows与shell脚本集成

项目描述

# DataFlows Shell

DataFlows是一种 *"新颖且直观的数据处理流程构建方式"*

DataFlows Shell利用DataFlows,以相同直观的数据处理流程用于shell自动化。

## 简介

在shell上进行的许多工作,尤其是“DevOps”/自动化类型的工作,涉及到数据处理。
shell用户学习的第一个命令是`ls` - 它返回一组数据。
第二个可能是`grep`或`cp` - 它基于这个数据集进行过滤和操作。

DataFlows Shell在shell和[DataFlows框架](https://github.com/datahq/dataflows)之间充当一个非常最小化和直观的层。

## 演示

以下示例演示了将一些处理器导入本地shell,使用它们运行处理器链并打印输出。它使用`kubectl`处理器从Kubernetes集群获取Pod列表,并基于使用Python lambda函数定义的条件进行过滤。

```
$ source <(dfs import printer filter_rows kubectl)

$ kubectl get pods -c -q \
| dfs 'lambda row: row.update(is_ckan="ckan" in str(row["volumes"]))' --fields=+is_ckan:boolean -q
| filter_rows --args='[[{"is_ckan":true}]]' -q

{'count_of_rows': 12, 'bytes': 57584, 'hash': '5febe0c3cfe75d174e242f290f00c289', 'dataset_name': None}
checkpoint:1
{'count_of_rows': 12, 'bytes': 57876, 'hash': '17f446a8f562f10cccc1de1a33c48d91', 'dataset_name': None}
checkpoint:2
{'count_of_rows': 6, 'bytes': 40797, 'hash': '6ab4290efd82478b1677d1f226c4199a', 'dataset_name': None}
checkpoint:3

$ printer --kwargs='{"fields":["kind","name","namespace"]}'

将检查点保存到: .dfs-checkpoints/__9
使用来自.dfs-checkpoints/__8的检查点数据
res_1
# kind name namespace
(string) (string) (string)
--- ---------- ---------------------------- -----------
1 Pod ckan-5d74747649-92z9x odata-blue
2 Pod ckan-5d74747649-fzvd6 odata-blue
3 Pod ckan-jobs-5d895695cf-wgrzr odata-blue
4 Pod datastore-db-944bfbc74-2nc7b odata-blue
5 Pod db-7dd99b8547-vpf57 odata-blue
6 Pod pipelines-9f4466db-vlzm8 odata-blue
检查点已保存:__9
{'行数': 6, '字节数': 40798, '哈希': 'adc31744dfc99a0d8cbe7b081f31d78b', '数据集名称': None}
检查点:9
```

## 安装

仅需要的核心依赖项是Bash和Python3.7+

要获取兼容的Python,可以使用[Miniconda](https://docs.conda.org.cn/miniconda.html)

```
$ wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
$ bash Miniconda3-latest-Linux-x86_64.sh
$ wget https://raw.githubusercontent.com/OriHoch/dataflows-shell/master/environment.yaml
$ conda env create -f environment.yaml
$ conda activate dataflows-shell
```

安装dataflows-shell包

```
python3 -m pip install -U dataflows-shell
```

启动交互式DataFlows shell会话

```
$ dfs

DataFlows Shell

按 <CTRL + C> 退出shell
按 <Enter> 在DataFlows shell和系统shell之间切换
输入 '--help' 查看DataFlows Shell参考

dfs >
```

## 文档

* [DataFlows Shell教程](TUTORIAL.md)
* [DataFlows Shell参考](REFERENCE.md)
* [DataFlows Shell处理器参考](dataflows_shell/processors/README.md)
* [DataFlows处理器参考](https://github.com/datahq/dataflows/blob/master/PROCESSORS.md)

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

dataflows_shell-0.0.8.tar.gz (10.9 kB 查看哈希值)

上传时间

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页