相关疑难解决方法(0)

Apache spark中的数据帧示例 斯卡拉

我试图从两个数据帧中取出样本,其中我需要保持计数的比率.例如

df1.count() = 10
df2.count() = 1000

noOfSamples = 10
Run Code Online (Sandbox Code Playgroud)

我想以这样一种方式对数据进行采样,即每个样本大小为101个样本(1个来自df1,100个来自df2)

现在这样做,

var newSample = df1.sample(true, df1.count() / noOfSamples)
println(newSample.count())
Run Code Online (Sandbox Code Playgroud)

这里的分数意味着什么?它可以大于1吗?我检查这个这个,但没能完全理解它.

无论如何我们还可以指定要采样的行数吗?

sample dataframe apache-spark

21
推荐指数
2
解决办法
4万
查看次数

SPARK是Dataframes统一采样的样本方法吗?

我想从数据框中随机选择一些行,我知道样本方法可以做到这一点,但我担心我的随机性应该是统一采样吗?那么,我想知道Spark on Dataframes的示例方法是否统一?

谢谢

sample apache-spark spark-dataframe

7
推荐指数
1
解决办法
3177
查看次数

Spark 采样速度太慢

我正在尝试使用 Scala 从现有表中执行一个简单的随机样本,其中包含大约 100e6 条记录。

import org.apache.spark.sql.SaveMode

val nSamples = 3e5.toInt
val frac = 1e-5
val table = spark.table("db_name.table_name").sample(false, frac).limit(nSamples)
(table
  .write
  .mode(SaveMode.Overwrite)
  .saveAsTable("db_name.new_name")
)
Run Code Online (Sandbox Code Playgroud)

但它花费的时间太长(据我估计约为 5 小时)。

有用的信息:

  1. 我有〜6名工人。通过分析表的分区数我得到:11433

  2. 我不确定分区/工人的比例是否合理。

  3. 我正在使用 Scala 运行 Spark 2.1.0。

我努力了:

  1. 移除.limit()零件。

  2. 更改frac1.00.1

问题:我怎样才能让它更快?

最好的,

random performance scala apache-spark

3
推荐指数
1
解决办法
4964
查看次数

Spark中的RDD示例

RDD SAMPLE如何在spark中工作?它的不同参数的功能是什么,即样本(withReplacement,fraction,seed).

我在网上找不到与'withReplacement'和'seed'参数相关的任何内容.请举例说明.

apache-spark

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