【问题标题】:R - Read part of parquet filesR - 读取部分镶木地板文件
【发布时间】:2017-12-27 20:29:09
【问题描述】:

有没有办法从 parquet 文件中读取特定数量的行?类似于来自data.tablefreadnrows。我有大量数据需要很长时间才能读取,但我只想分析其结构和完整性。

我只需要读取我的镶木地板数据的一些行,而且似乎使用 Sparklyr 的函数 spark_read_parquet 无法做到这一点。

【问题讨论】:

  • 嗯,我猜应该删除 r 和 data.table 标记,因为这与使用这些工具无关(?)。

标签: r parquet sparklyr


【解决方案1】:

由于spark_read_xxx 系列函数返回一个Spark DataFrame,您始终可以使用%>% 运算符在读取文件后过滤和收集结果。例如,如果你只想要文件的前 2 行,你可以这样做:

DF <- spark_read_csv(sc, name = "mtcars", path = "R/mtcars.csv", header = FALSE, delimiter = ";")

DF %>% head(2) %>% dplyr::collect()
# A tibble: 2 x 12
             V1    V2    V3    V4    V5    V6    V7    V8    V9   V10   V11   V12
          <chr> <chr> <int> <chr> <int> <chr> <chr> <chr> <int> <int> <int> <int>
1     Mazda RX4    21     6   160   110   3,9  2,62 16,46     0     1     4     4
2 Mazda RX4 Wag    21     6   160   110   3,9 2,875 17,02     0     1     4     4

我在这里使用spark_read_csv 函数,但结果应该与spark_read_parquet 相同,因为两个函数返回相同的结构。

【讨论】:

    猜你喜欢
    • 2019-08-04
    • 2022-06-16
    • 2019-09-23
    • 2023-02-19
    • 2017-05-06
    • 2021-01-12
    • 2018-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多