相关疑难解决方法(0)

SQL RANK()与ROW_NUMBER()

我对这些之间的差异感到困惑.运行以下SQL会获得两个完美的结果集.有人可以解释一下这些差异吗?

SELECT ID, [Description], RANK()       OVER(PARTITION BY StyleID ORDER BY ID) as 'Rank'      FROM SubStyle
SELECT ID, [Description], ROW_NUMBER() OVER(PARTITION BY StyleID ORDER BY ID) as 'RowNumber' FROM SubStyle
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

172
推荐指数
4
解决办法
22万
查看次数

如何从PySpark DataFrame获取随机行?

如何从PySpark DataFrame中获取随机行?我只看到sample()以分数作为参数的方法.将此分数设置1/numberOfRows为随机结果,有时我不会得到任何行.

On RRD有一个方法takeSample(),它将您希望样本包含的元素数作为参数.我知道这可能很慢,因为你必须计算每个分区,但有没有办法在DataFrame上得到这样的东西?

python dataframe apache-spark apache-spark-sql pyspark

18
推荐指数
2
解决办法
3万
查看次数

在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
查看次数