dy.drop_fields() 对比 DropFields.apply()
dy.drop_fields() vs DropFields.apply()
在使用 Glue 时,我遇到了两种从动态框架中删除列的方法。
DynamicFrame的一个方法:drop_fields()
和 class DropFields.apply()
它们是这样使用的:
dy_reduced_data = dy_raw_data.drop_fields(cols_to_drop)
dy_reduced_data = DropFields.apply(frame = dy_raw_data, paths = [cols_to_drop])
现在我想知道:它们之间有什么区别吗?一个更有效率吗?他们似乎有相同的选择范围。
是否有最佳实践使用两者中的哪一个?或者什么时候使用哪个?
Glue 通常建议转换 classes,但它们对我来说似乎更冗长且可读性更差。
我只能回答部分问题:
Is there any difference between them?
不,Class-Style 转换实际上调用底层 DynamicFrame
方法:
来自图书馆:
class DropFields(GlueTransform):
"""
Drop fields within a DynamicFrame
# ... (ommited stuff for brevity, the __call__ matters)
"""
def __call__(self, frame, paths, transformation_ctx = "", info = "", stageThreshold = 0, totalThreshold = 0):
return frame.drop_fields(paths, transformation_ctx, info, stageThreshold, totalThreshold)
Is one more efficient?
由于函数调用的性能开销很小,DynamicFrame 方法的效率可能略高,但并不明显。
Is there a best practice when to use which?
不知道。
在使用 Glue 时,我遇到了两种从动态框架中删除列的方法。
DynamicFrame的一个方法:drop_fields()
和 class DropFields.apply()
它们是这样使用的:
dy_reduced_data = dy_raw_data.drop_fields(cols_to_drop)
dy_reduced_data = DropFields.apply(frame = dy_raw_data, paths = [cols_to_drop])
现在我想知道:它们之间有什么区别吗?一个更有效率吗?他们似乎有相同的选择范围。 是否有最佳实践使用两者中的哪一个?或者什么时候使用哪个?
Glue 通常建议转换 classes,但它们对我来说似乎更冗长且可读性更差。
我只能回答部分问题:
Is there any difference between them?
不,Class-Style 转换实际上调用底层 DynamicFrame
方法:
来自图书馆:
class DropFields(GlueTransform):
"""
Drop fields within a DynamicFrame
# ... (ommited stuff for brevity, the __call__ matters)
"""
def __call__(self, frame, paths, transformation_ctx = "", info = "", stageThreshold = 0, totalThreshold = 0):
return frame.drop_fields(paths, transformation_ctx, info, stageThreshold, totalThreshold)
Is one more efficient?
由于函数调用的性能开销很小,DynamicFrame 方法的效率可能略高,但并不明显。
Is there a best practice when to use which?
不知道。