【问题标题】:Sparklyr split stringsSparklyr 拆分字符串
【发布时间】:2017-11-25 01:45:45
【问题描述】:

我有一个包含几行的文件。例如

A               B       C    
awer.ttp.net    Code    554
abcd.ttp.net    Code    747
asdf.ttp.net    Part    554
xyz.ttp.net     Part    747

我想在 R 中使用 sparklyr 库在 spark 中创建一个命令,其中包含仅拆分表的 A 列的语句,我希望在表 D 中添加一个新行,其值为 awer、abcd、asdf 和 xyz。

我试过了

data_2 %>% sdf_mutate(node2=ft_regex_tokenizer(data_2, input.col = "A", output.col = "D", pattern="[.]")) %>% sdf_register("mutated")

然后我试试

mut_trial %>% mutate(E=D[[1]])

eval(expr, envir, enclos) 中的错误:找不到对象“D”。

我不确定我这样做是否正确,但我想看看是否有任何其他功能可以使用,或者是否有办法修复此功能以执行我想要的操作。

【问题讨论】:

    标签: r apache-spark sparklyr


    【解决方案1】:

    代码在 scala spark 中希望你能明白并在 SparkR 中转换它

    import spark.implicits._
    val data = spark.sparkContext.parallelize(Seq(
      ("awer.ttp.net","Code", 554),
      ("abcd.ttp.net","Code", 747),
      ("asdf.ttp.net","Part", 554),
      ("xyz.ttp.net","Part", 747)
    )).toDF("A","B","C")
    
    data.withColumn("D", split($"A", "\\.")(0)).show(false)
    

    输出:

    +------------+----+---+----+
    |A           |B   |C  |D   |
    +------------+----+---+----+
    |awer.ttp.net|Code|554|awer|
    |abcd.ttp.net|Code|747|abcd|
    |asdf.ttp.net|Part|554|asdf|
    |xyz.ttp.net |Part|747|xyz |
    +------------+----+---+----+
    

    希望这有帮助!

    【讨论】:

      猜你喜欢
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-28
      • 2014-05-27
      相关资源
      最近更新 更多