小编Dea*_*an 的帖子

有没有办法使用scala过滤不包含spark数据帧中某些内容的字段?

希望我是愚蠢的,这很容易.

我有一个包含"url"和"referrer"列的数据框.

我想提取包含顶级域名"www.mydomain.com"和"mydomain.co"的所有引荐来源.

我可以用

val filteredDf = unfilteredDf.filter(($"referrer").contains("www.mydomain."))
Run Code Online (Sandbox Code Playgroud)

但是,由于某种原因,这会删除包含我的网域的网址www.google.co.uk搜索网址.有没有办法,在火花中使用scala,我可以用谷歌过滤掉任何东西,同时保持我的正确结果?

谢谢

院长

scala apache-spark apache-spark-sql

8
推荐指数
1
解决办法
2万
查看次数

使用scala计算spark数据帧中列组合的实例

我在scala中有一个名为df的火花数据框,有两列,比如a和b.a列包含字母,b列包含下面的数字.

   a   b
----------
   g   0
   f   0
   g   0
   f   1
Run Code Online (Sandbox Code Playgroud)

我可以使用不同的行

val dfDistinct=df.select("a","b").distinct
Run Code Online (Sandbox Code Playgroud)

它给出了以下内容:

   a  b
----------
   g   0
   f   0
   f   1
Run Code Online (Sandbox Code Playgroud)

我想添加另一个列,其中包含这些不同组合在第一个数据帧中出现的次数,所以我最终得到了

a  b  count
  ----------
  g  0   2
  f  0   1
  f  1   1
Run Code Online (Sandbox Code Playgroud)

我不介意是否修改了原始命令,或者我对dfDistinct进行了单独的操作,给出了另一个数据帧.

任何建议都非常感谢,我为这个问题的微不足道的性质道歉,但我对scala或spark中的这种操作并不是最有经验的.

谢谢

院长

scala dataframe apache-spark

5
推荐指数
1
解决办法
1万
查看次数

在Spark中使用groupBy并返回DataFrame

使用Scala处理spark中的数据帧时遇到了困难.如果我有一个数据框,我想提取一列唯一条目,当我使用时,groupBy我没有得到一个数据帧.

例如,我有一个DataFrame具有以下形式的被调用日志:

machine_id  | event     | other_stuff
 34131231   | thing     |   stuff
 83423984   | notathing | notstuff
 34131231   | thing    | morestuff
Run Code Online (Sandbox Code Playgroud)

我想要一个独特的机器ID,其中事件是存储在新的东西DataFrame,允许我做某种过滤.运用

val machineId = logs
  .where($"event" === "thing")
  .select("machine_id")
  .groupBy("machine_id")
Run Code Online (Sandbox Code Playgroud)

我得到了一个Grouped Data的val,这是一个痛苦的使用(或我不知道如何正确使用这种对象).得到这个唯一机器ID的列表后,我想用它来过滤另一个DataFrame机器ID以提取单个机器ID的所有事件.

我可以看到我会定期做这类事情,基本的工作流程是:

  1. 从日志表中提取唯一ID.
  2. 使用唯一ID来提取特定ID的所有事件.
  3. 对已提取的数据进行某种分析.

这是前两个步骤,我将在这里感谢一些指导.

我很欣赏这个例子有点做作,但希望它解释了我的问题.可能是我对GroupedData对象不够了解或者(因为我希望)我在数据框中遗漏了一些东西,这使得这很容易.我正在使用基于Scala 2.10.4构建的spark 1.5.

谢谢

scala apache-spark apache-spark-sql

5
推荐指数
1
解决办法
5925
查看次数

标签 统计

apache-spark ×3

scala ×3

apache-spark-sql ×2

dataframe ×1