多个numpy数组(索引,数据)到Spark Dataframe的最快方法

时间:2019-12-12 12:33:27

标签: pandas numpy dataframe apache-spark pyspark

我想直接从多个数据和时间戳索引Numpy数组(时间序列数据)

中创建 Spark Dataframe

我有一个主数组,其中包含所有数据数组的所有唯一索引。 在Spark Dataframe中,样本数据类型为double,long,int或string。

每个数据数组都应该是Spark Dataframe中的新列。

示例数据:

idx1:  [2.00e-01, 3.00e-01, 4.00e-01, ... 5.00e+03, 6.00e+03]
data1: [ 0,  10,   15, ... 65535, 65535, 65535]
...
idx2: [8.70e-01, 5.70e+02, ... 9.90e+02, 1.07+03 1.12e+03]
data2: [19282, 19282, 19282, ... 19284, 19285, 19286]

masterIndex: [2.00e-01, 3.00e-01, 4.00e-01, 8.70e-01, 5.70e+02, ...]

目标Spark数据框(自动填充NaN):

| masterIdx| data1 |data(N)| ... |
|     0.2  |   0   |  NaN  | ... |
| ...      |    .. |  ..   | ... |
|     0.87 |  NaN  | 19282 | ... |

在当前方法中,我执行以下步骤:

  1. 使用masterIndex作为索引创建空的熊猫数据框
  2. Numpy数组索引和样本为Panda系列
  3. 将“熊猫系列”合并为“熊猫数据框”上的列-> df[name] = pdSeries
  4. 在启用了Pyarrow且数据类型为架构的情况下将Panda Dataframe转换为Spark Dataframe

如何有效地添加/合并多个numpy数据数组作为列(具有索引数组)到Spark Dataframe ? 我想直接将数据写入Spark Dataframe。

目标是使最佳性能创建Spark Dataframe

谢谢您的输入!

0 个答案:

没有答案