gpt4 book ai didi

hadoop - 如何在 RDD [(String, Int)] 上保存 AsTextFile 时删除记录周围的括号?

转载 作者:可可西里 更新时间:2023-11-01 14:21:59 25 4
gpt4 key购买 nike

<分区>

如何从以下 spark 作业的输出中删除括号“(”和“)”?

当我尝试使用 PigScript 读取 spark 输出时,它产生了一个问题。

我的代码:

scala> val words = Array("HI","HOW","ARE")
words: Array[String] = Array(HI, HOW, ARE)

scala> val wordsRDD = sc.parallelize(words)
wordsRDD: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[0] at parallelize at <console>:23

scala> val keyvalueRDD = wordsRDD.map(elem => (elem,1))
keyvalueRDD: org.apache.spark.rdd.RDD[(String, Int)] = MapPartitionsRDD[1] at map at <console>:25

scala> val wordcountRDD = keyvalueRDD.reduceByKey((x,y) => x+y)
wordcountRDD: org.apache.spark.rdd.RDD[(String, Int)] = ShuffledRDD[2] at reduceByKey at <console>:27

scala> wordcountRDD.saveAsTextFile("/user/cloudera/outputfiles")

按照上面的代码输出:

 hadoop dfs -cat /user/cloudera/outputfiles/part*

(HOW,1)
(ARE,1)
(HI,1)

但我希望 spark 的输出存储如下,不带括号

HOW,1
ARE,1
HI,1

现在我想使用 PigScript 读取上面的输出。

Pigscript 中的 LOAD 语句将“(HOW”视为第一个原子,将“1)”视为第二个原子

我们是否可以去掉 spark 代码本身的括号,因为我不想在 pigscript 中应用此修复程序..

pig 脚本:

records = LOAD '/user/cloudera/outputfiles' USING PigStorage(',') AS (word:chararray);
dump records;

pig 输出:

 ((HOW)
((ARE)
((HI)

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com