spark application: как решить проблему записи данных

Всем привет! мне нужно перенести данные с hdfs в clickhouse. При запуске спарковой джобы я получаю ошибку DB::Exception: Too many parts (310). Merges are processing significantly slower than inserts. (TOO_MANY_PARTS) данные находятся хранятся в паркете, объем около 34 ГБ путь к паркету "hdfs://host:8020/user/stat/year=2022/month=1/day=1/101.parq". в целом скрипт выглядит так:

val df = spark.read.parquet("hdfs://host:8020/user/stat/year=2022/")
df.write
.format("jdbc")
.mode("append")
.option("driver","cc.blynk.clickhouse.ClickHouseDriver")
.option("url", "jdbc:clickhouse://host:8123/default")
.option("user", "login")
.option("password", "pass")
.option("dbtable", "table")
.save()

данные будут переливаться в существующую таблицу были попытки и с repartition() и с batchsize() безуспешно, допускаю, что где-то ошибаюсь

я только начинаю изучать Spark и Scala благодарю за любую помощь


Ответы (0 шт):