Como posso salvar dataframes Pyspark em vários arquivos parquet com tamanho específico?
Exemplo: Meu dataframe usa 500GB em HDFS, cada arquivo tem 128MB. Quero salvá-lo em 250 arquivos parquet, cada arquivo tem 2 GB. Como posso arquivar isso?
Como posso salvar dataframes Pyspark em vários arquivos parquet com tamanho específico?
Exemplo: Meu dataframe usa 500GB em HDFS, cada arquivo tem 128MB. Quero salvá-lo em 250 arquivos parquet, cada arquivo tem 2 GB. Como posso arquivar isso?
É sempre bom fazer uma pesquisa simples aqui se isso já foi perguntado ou respondido aqui, já consigo ver alguns:
PySpark: Como especificar o tamanho do arquivo ao gravar arquivos em parquet?
Grave dataframe pyspark em um número específico de arquivos parquet no total em todas as colunas de partição
Para salvar um dataframe PySpark em vários arquivos Parquet com tamanho específico, você pode usar o método de repartição para dividir o dataframe no número desejado de partições e, em seguida, usar o método write com a opção partitionBy para salvar cada partição como um arquivo Parquet separado. Por exemplo, para salvar um dataframe em 250 arquivos Parquet, cada um com tamanho de 2 GB, você pode usar o seguinte código:
substitua a partition_column pelo nome da coluna pela qual você deseja particionar. Isso organiza os arquivos de saída por essa coluna. partitionBy nesta instrução é opcional.
Se você estiver reduzindo o tamanho da partição para um número maior que 250, poderá usar a coalescência para evitar o embaralhamento, mas a repartição é melhor para garantir a saída desejada