我正在使用库 sparklyr 与“火花”进行交互。有将数据框放入火花上下文的功能。这样的函数是“ dplyr::copy_to”和“ sparklyr::sdf_copy_to”。有什么区别,何时建议使用一种而不是另一种?
他们是一样的。我会使用copy_to而不是专家,sdf_copy_to因为它与其他数据源更一致,但这是风格上的。
该函数copy_to是一个通用函数dplyr,适用于任何实现dplyr后端的数据源。
您可以将它与 Spark 连接一起使用,因为sparklyr实现了 copy_to.src_spark和copy_to.spark_connection。它们不会暴露给用户,因为您应该使用copy_to并让它分派到正确的方法。
copy_to.src_sparck只需调用copy_to.spark_connection:
#> sparklyr:::copy_to.src_spark
function (dest, df, name, overwrite, ...)
{
copy_to(spark_connection(dest), df, name, ...)
}
<bytecode: 0x5646b227a9d0>
<environment: namespace:sparklyr>
Run Code Online (Sandbox Code Playgroud)
copy_to.spark_connection只需调用sdf_copy_to:
#> sparklyr:::copy_to.spark_connection
function (dest, df, name = spark_table_name(substitute(df)),
overwrite = FALSE, memory = TRUE, repartition = 0L, ...)
{
sdf_copy_to(dest, df, name, memory, repartition, overwrite,
...)
}
<bytecode: 0x5646b21ef120>
<environment: namespace:sparklyr>
Run Code Online (Sandbox Code Playgroud)
sdf_copy_to"sdf_"遵循与Spark DataFrames 相关的函数前缀的包范围约定。另一方面,copy_to是为了方便用户dplyr而提供兼容的方法。sparklyrdplyr