可以将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

如何从数据集中移除EXIF数据?

我在尝试从数据集中的图像中移除EXIF数据(这些数据将…

用于Python中的“智能点”游戏的遗传算法不工作

过去几天我一直在尝试实现所谓的“智能点”游戏。我第一次…

哪个R平方得分更有帮助?

data.drop(‘Movie Title’, ax…

使用线性回归预测GRE分数对录取率的影响

我正在学习线性回归,并尝试在Jupyter笔记本中用P…

使用mlrMBO贝叶斯优化进行SVM超参数调优时出现错误

我试图针对一个分类任务优化SVM,这个方法在许多其他模…

Keras模型的二元交叉熵准确率未发生变化

我在网上看到了很多关于这个问题的提问,但没有找到明确的…

发表回复

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