使用SparkR和SPARKYR在Spark数据帧上运行-不现实的设置?

使用SparkR和SPARKYR在Spark数据帧上运行-不现实的设置?,r,apache-spark,apache-spark-sql,sparkr,sparklyr,R,Apache Spark,Apache Spark Sql,Sparkr,Sparklyr,我目前正在使用SparkR和SPARKYR包,我认为它们不适合高维稀疏数据集 这两个包都有一个范例,您可以通过对一些列或行的简单逻辑条件来选择/过滤数据帧的列和行。但这通常不是在如此大的数据集上要做的。在这里,您需要根据数百个行或列条目的值选择行和列。通常,您首先必须计算每行/每列的统计信息,然后使用这些值进行选择。或者,您希望仅在数据帧中寻址某些值 比如说, 如何选择缺失值小于75%的所有行或列 如何使用从每列或每行派生的特定于列或行的值来插补缺失的值 为了解决第2个问题,我需要分别在数据帧的

我目前正在使用SparkR和SPARKYR包,我认为它们不适合高维稀疏数据集

这两个包都有一个范例,您可以通过对一些列或行的简单逻辑条件来选择/过滤数据帧的列和行。但这通常不是在如此大的数据集上要做的。在这里,您需要根据数百个行或列条目的值选择行和列。通常,您首先必须计算每行/每列的统计信息,然后使用这些值进行选择。或者,您希望仅在数据帧中寻址某些值

比如说,

如何选择缺失值小于75%的所有行或列

如何使用从每列或每行派生的特定于列或行的值来插补缺失的值

为了解决第2个问题,我需要分别在数据帧的每一行或每一列上执行函数。然而,即使像SparkR的dapplyCollect这样的函数也不能真正起到帮助作用,因为它们

也许我遗漏了什么,但我要说的是,SparkR和Sparkyr在这些情况下并没有真正的帮助。我错了吗


顺便说一句,我不明白像MLlib或H2O这样的库如果存在如此严重的限制,例如在处理缺失值方面,我会如何使用sql。也许你可以使用Drill而不是Spark?,如果你想通过R使用Drill,请看一下sergeant软件包。我与你分享通过SparkR或Sparkyr使用Spark的挫折感。对我来说,这是一场噩梦。对于大型数据集,它有点挑剔并且容易失败。也许是因为我还不完全理解如何正确配置Spark,但目前我使用传统的sql server或甚至使用Drill处理大型数据集,我发现它更稳定,然后只将干净的数据传递给Spark,以便运行模型,使用MLlib。