可以将AWS FindMatch转换应用于数据框架吗?如果可以,如何操作?

我想了解是否可以在AWS Glue的Spark数据框架上应用FindMatch机器学习转换。目前我可以在动态框架上使用它。如果我想在动态框架上使用FindMatch转换,以下是语法:

<应用了ml转换的输出动态框架> = FindMatches.apply(frame = <输入动态框架>, transformId = <单独创建的findmatch ml转换的转换id>)

我尝试用数据框架替换输入的动态框架,当我运行Glue作业时,它失败了。显示的错误如下:

“属性错误:’DataFrame’对象没有属性’glue_ctx'”

以下是我尝试使用数据框架的代码:

import sysfrom awsglue.transforms import *from awsglue.utils import getResolvedOptionsfrom pyspark.context import SparkContextfrom awsglue.context import GlueContextfrom awsglue.job import Jobfrom awsglueml.transforms import FindMatchesargs = getResolvedOptions(sys.argv, ['JOB_NAME'])sc = SparkContext()glueContext = GlueContext(sc)spark = glueContext.spark_sessionjob = Job(glueContext)job.init(args['JOB_NAME'], args)datasource0 = glueContext.create_dynamic_frame.from_catalog(database = "hospitality", table_name = "personinputdata", transformation_ctx = "datasource0")df0 = datasource0.toDF()resolvechoice1 = ResolveChoice.apply(frame = datasource0, choice = "MATCH_CATALOG", database = "hospitality", table_name = "personinputdata", transformation_ctx = "resolvechoice1")findmatchdf = FindMatches.apply(frame = df0, transformId = "tfm- 01cc9b02c93640cfc7ce5ea91745e24258cb2e01")findmatchdf.show()

而下面是当我改用动态框架时工作的代码:

我在网上搜索了FindMatch机器学习转换的代码,但哪儿也找不到。


回答:

正如你所知,FindMatch只能在动态框架上工作…所以你可以随时将你的Spark数据框架转换为动态框架来运行它

from awsglue.dynamicframe import DynamicFrameglueContext = GlueContext(SparkContext.getOrCreate())Dyf0 = DynamicFrame.fromDF(df0, glueContext, "anyname")

然后按需要运行你的FindMatch转换。

Related Posts

多维度Top-k评分

例如,在机器学习中的自然语言处理中,通常使用波束搜索来…

R – Caret train() “错误:停止” 与 “在newdata中未找到对象中使用的所有变量名”

我正在尝试为蘑菇数据构建一个简单的朴素贝叶斯分类器。我…

创建训练和测试数据集分割,数据嵌套在多个文件夹中

我正在准备数据以训练一个图像识别模型。目前我有一个文件…

我的神经网络预测出现错误:IndexError: list index out of range

我正在进行一个简单的垃圾邮件/非垃圾邮件文本分类。我的…

python 给出数组是一维的,但索引了两个维度错误

我已经为 miniBatchGradientDesce…

TensorFlow自定义训练步骤使用不同的损失函数

背景 根据TensorFlow文档,可以使用以下方式执…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注