【问题标题】:Plot data from SparkR DataFrame从 SparkR DataFrame 绘制数据
【发布时间】:2016-03-03 11:02:23
【问题描述】:

我有一个 avro 文件,我正在阅读如下:

avroFile <-read.df(sqlContext, "avro", "com.databricks.spark.avro")

此文件作为 lat/lon 列,但我无法像常规数据框一样绘制它们。 我也无法使用“$”运算符访问该列。

例如

avroFile$latitude

感谢任何有关 avro 文件和使用 R 对其进行操作的帮助。

【问题讨论】:

    标签: r ggplot2 dataframe avro sparkr


    【解决方案1】:

    如果您想使用ggplot2 进行绘图,请尝试使用 ggplot2.SparkR。此包允许您将 SparkR DataFrame 直接作为 ggplot() 函数调用的输入。

    https://github.com/SKKU-SKT/ggplot2.SparkR

    【讨论】:

    【解决方案2】:

    而且您将无法直接绘制它。 SparkR DataFrame 与期望 data.frame 作为输入的函数不兼容。这甚至不是严格意义上的数据结构,而只是如何处理输入数据的秘诀。仅当您执行操作时才会实现。

    如果您想绘制它,您将首先拥有collect。请注意,它会在本地机器上获取所有数据,因此通常您希望在完整数据集上避免这种情况。

    【讨论】:

      【解决方案3】:

      正如 zero323 提到的,您目前无法在分布式 SparkR DataFrames 上运行 R 可视化。您可以在本地 data.frames 上运行它们。这是一种方法,您可以仅使用要绘制的列创建新的数据框,然后将它们的随机样本收集到本地 data.frame 中,您可以从中进行绘制

      latlong <- (avroFile, avroFile$latitude, avrofile$longitude)
      latlongsample <- collect(sample(latlong, FALSE, .1))
      plot(latlongsample)
      

      示例方法的签名是: 样本(x,withReplacement,分数,种子)

      【讨论】:

        猜你喜欢
        • 2016-11-29
        • 1970-01-01
        • 2018-02-04
        • 2013-11-04
        • 2014-12-09
        • 1970-01-01
        • 1970-01-01
        • 2018-07-05
        • 2016-02-17
        相关资源
        最近更新 更多