首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Dataiku DSS Code Recipe 介绍

引言

上一篇我们通过介绍 Dataiku DSS 中可视化 Prepare Recipe,了解了 Dataiku DSS 中 Recipe 的概念。这一篇我们主要来介绍 Code Recipe —— 通过写代码的方式完成从数据集到数据集的数据处理过程。

点击一个数据集,就可以看到右侧当前数据集可用的 Code Recipe。例如我们点击一个上传的数据集:Iris_data1,可以看到当前数据集可用的 Code Recipe 包括:

Python

R

Shell

Spark SQL

Spark Scala

PySpark

Spark R

Dataiku 会根据数据集的类型来识别可用的 Code Recipe,如果某个 Recipe 在当前数据集上不可用或 Code Recipe 的环境没有正确安装,那么 Code Recipe 就以灰色的方式显示。如下图,上传的数据集可以使用的 Code Recipe。

Python Code Recipe

点击 Irisdata1 数据集,创建一个 Python 的 Code Recipe。在用数据集 Irisdata1 数据集创建 Code Recipe 时,可以对当前 Recipe 添加多个输入和输出数据集。Dataiku DSS 中的大部分 Code Recipe 是支持多个输入和多个输出的。创建好 Python Code Recipe 界面以后,就会进入 Code Recipe 的编辑界面。

Code Recipe 的界面左侧显示了输入和输出数据集的名称和字段,用户可以快速的将数据集名称或字段插入到右侧的编辑区域中。右侧是编写 Code Recipe 具体 Code 的部分。在 Python Code Recipe 中,Dataiku 提供了 Dataiku DSS 中数据集(DataSet)转换为 Pandas Dataframe 的能力和将 Dataframe 转化为 Dataiku DSS 数据集(DataSet)的能力。因此,用户只要修改中间部分代码,在熟悉的 Pandas 上做操作,即可以完成数据的清洗和转化。

Python 数据集(Dataset)和 Dataframe 互转代码:

Code Recipe 不同于可视化 Recipe 的一点是:Code Recipe 的运行不是在抽样数据上运行,而是在整个输入数据集上运行,没有办法实时的看到数据的探索结果。因此,Dataiku DSS 在 Python 的 Code Recipe 界面提供了在 Notebook 中编辑的能力(EDIT IN Notebook),用户可以点击 EDIT IN Notebook,进入 Notebook,用 Notebook 的方式来交互式探索数据。

这时候,系统会自动将 Code Recipe 中的代码复制到新建的临时 Notebook 中。

当在 Notebook 中完成数据探索时,可以继续将 Notebook 保存成 Code Recipe,Notebook 中的代码会自动同步到 Code Recipe 中。这种设计为用户提供了更加顺滑构建 Code Recipe 的方式。

需要注意的是,在 Code Recipe 中打开的 Notebook,在关闭 Code Recipe 时依然在后台运行,不会自动关闭,需要用户主动去关闭。这种情况可能会造成资源的浪费,资源有限的情况下,甚至让整个服务器都会挂掉。

在 Code Recipe 编写完成以后,用户可以进行代码的验证和运行。点击运行,就会对输入数据集执行当前的 Recipe 逻辑。同样,在运行的时候,Dataiku 会自动监测当前 Code Recipe 的输入和输出数据集是否与代码中的一致,如果不一致就会报错。

此外,Python Code Recipe 中的高级设置 Advanced 中,可以设置当前 Code Recipe 的 Python 执行环境,用户可以根据代码的要求和数据的大小配置不同的运行环境。

其他类似 Code Recipe

对于 R、Spark Scala、Spark R 和 PySpark 来说,Dataiku DSS 的处理逻辑与 Python 是一致的,都是将数据集(DataSet)转化为对应的 Dataframe,然后将处理后的 Dataframe 转化为数据集(DataSet)。

R 数据集(Dataset)和 Dataframe 互转代码:

Spark R 数据集(Dataset)和 Dataframe 互转代码:

PySpark 数据集(Dataset)和 Dataframe 互转代码:

PySpark 数据集(Dataset)和 Dataframe 互转代码:

Spark SQL Code Recipe

Spark SQL 类型的 Code Recipe 与上面的不太一致。首先,Spark SQL 的 Code Recipe 只允许有一个输出数据集。Spark SQL Code Recipe 中,表现形式上不再对数据集进行专门的转化,用户可以直接用 Spark SQL 来操作数据集,很大程度上方便了用户对 Spark SQL 的使用。在这里,用户可以把数据集看成一个数据表。同样,在高级设置中,可以配置当前 Recipe 的具体 Spark 执行配置,并完成配置。

最后,除了以上主要的几个 Code Recipe 以外,SQL 类型 的 Code Recipe 只能操作 SQL 表,Shell 脚本允许用户调用 Dataiku DSS 中的对象和参数来处理数据。其他几个 Code Recipe 后续继续研究。Dataiku DSS 为众多语言提供了数据集和 Dataframe 互相转换的方式,这样就保留 Code Recipe 足够的灵活性,方便写代码的用户专注于使用最熟悉的代码来实现数据探索和处理。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180504G1AP4400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券