【问题标题】:How to create different rdds based on different record data如何根据不同的记录数据创建不同的rdds
【发布时间】:2018-09-01 04:01:13
【问题描述】:

我正在尝试根据前两个字节中定义的不同记录类型的输入文件创建不同的 RDD

输入文件有

00~08-30-2018~001
01~Amwell~000048.00~by~0000~test
02~002~145~West ~23.78
99~001~004

如何根据前 2 个字节创建 RDD?

【问题讨论】:

  • 前 2 个字节是什么意思?你可以解释吗?如果可能的话,你能分享一下预期的输出吗?
  • 输入文件包含以下数据:第 1 行有 01~08-30-2018~001 第 2 行有 01~Amwell~000048.00~by~0000~test 第 3 行有 02~002~145 ~West ~23.78 99~001~004 所有以01开头的记录我要放入一个RDD,所有以02开头的记录我要放入另一个RDD。

标签: apache-spark rdd


【解决方案1】:
val rdd = sc.textFile("yourtestdatapath")
val rdd01 = rdd.filter(i => i.split("~")(0) == "01")
val rdd02 = rdd.filter(i => i.split("~")(0) == "02")

//rdd01 将包含以 01 开头的数据 //rdd02 将包含以 02 开头的数据

【讨论】:

  • 非常感谢!
  • @Rafael 如果您觉得有用,请接受答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 2017-01-09
  • 2013-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多