Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark Spark在读取时强制执行分区_Apache Spark_Apache Spark Sql - Fatal编程技术网

Apache spark Spark在读取时强制执行分区

Apache spark Spark在读取时强制执行分区,apache-spark,apache-spark-sql,Apache Spark,Apache Spark Sql,我有一个数据集,其分区如下: raw_data/year=2020/month=05/day=01/hour=00/minute=00/xxx.parquet raw_data/year=2020/month=05/day=01/hour=00/minute=01/xxx.parquet ... ... raw_data/year=2020/month=05/day=01/hour=01/minute=00/xxx.parquet ... 我想加载大量分区(比如1个月),每小时聚合一次,然后用

我有一个数据集,其分区如下:

raw_data/year=2020/month=05/day=01/hour=00/minute=00/xxx.parquet
raw_data/year=2020/month=05/day=01/hour=00/minute=01/xxx.parquet
...
...
raw_data/year=2020/month=05/day=01/hour=01/minute=00/xxx.parquet
...
我想加载大量分区(比如1个月),每小时聚合一次,然后用以下分区保存:

processed_data/year=2020/month=05/day=01/hour=00/yyy.parquet
processed_data/year=2020/month=05/day=01/hour=01/yyy.parquet
...

我觉得,如果Spark可以读取数据集,这样每个执行器都可以读取
hour
分区下的所有文件,那么就可以最大限度地减少改组。有没有办法指定Spark的分区读取模式?

我认为最好以您想要的方式保存数据,而不是试图自定义Spark加载数据的方式

您可以读取所有数据并按小时对其进行分区。您可能需要首先创建一个列,如“年-月-日-小时”,然后可以基于此列重新划分数据

df.repartition(col(“年-月-日-小时”).write.format(“拼花”).save(文件路径)

我认为最好以您想要的方式保存数据,而不是试图自定义Spark加载数据的方式

您可以读取所有数据并按小时对其进行分区。您可能需要首先创建一个列,如“年-月-日-小时”,然后可以基于此列重新划分数据

df.repartition(col(“年-月-日-小时”).write.format(“拼花”).save(文件路径)

最佳方法如下:

df.repartition…write.partitionBy…
以避免乱序和更好的后续读取性能


Spark partition discovery
on read with base path也会有所帮助。

最佳方法如下:

df.repartition…write.partitionBy…
以避免乱序和更好的后续读取性能


Spark partition discovery
on read with base path也会有所帮助。

repartitionBy是一个更安全的选项,从保存开始,你是说它如何保存在他的湖的原始区域?你认为需要两者吗从保存开始,它是一个更安全的选项,你是说它如何保存在他的湖的原始区域?你认为两者都需要吗