【问题标题】:Write first 5 rows into hdfs file through spark通过 spark 将前 5 行写入 hdfs 文件
【发布时间】:2017-06-27 20:42:17
【问题描述】:

我想通过 spark 代码将前 5 行写入 hdfs 文件

sc.textFile("hdfs://localhost:8020/user/hadoop/data-master/retail_db/products/part-00000").map( rec => ( rec.split(",")(4).toDouble, rec )).sortByKey(false).map(_._2)

这里我们可以使用 saveAsTextFile API,但这是一个动作,而我们需要通过转换来限制行。

【问题讨论】:

标签: apache-spark


【解决方案1】:

您可以使用limit 函数来选择前n行

def limit(n: Int): Dataset[T]

通过获取前 n 行返回一个新的数据集。区别 这个函数和 head 之间是 head 是一个动作并返回 一个数组(通过触发查询执行),而 limit 返回一个新的 数据集。

yourDF.limit(5)  // takes the first 5 rows

如果你想将前 5 行作为一个数组,那么你可以使用take 函数

yourDF.take(5)

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2023-03-10
    • 2016-09-14
    • 1970-01-01
    • 2020-09-15
    • 2018-06-02
    • 1970-01-01
    • 2019-10-25
    • 2015-09-19
    • 1970-01-01
    相关资源
    最近更新 更多