Skip to content

Commit c69dcbc

Browse files
committed
preserve parquet specific parallel formatting
1 parent 1a190de commit c69dcbc

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/Storages/MergeTree/MergeTreeData.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ namespace Setting
213213
extern const SettingsUInt64 min_bytes_to_use_direct_io;
214214
extern const SettingsBool export_merge_tree_part_overwrite_file_if_exists;
215215
extern const SettingsBool output_format_parallel_formatting;
216+
extern const SettingsBool output_format_parallel_formatting_parquet;
216217
}
217218

218219
namespace MergeTreeSetting
@@ -6244,7 +6245,8 @@ void MergeTreeData::exportPartToTable(const PartitionCommand & command, ContextP
62446245
dest_storage->getStorageID(),
62456246
part,
62466247
query_context->getSettingsRef()[Setting::export_merge_tree_part_overwrite_file_if_exists],
6247-
query_context->getSettingsRef()[Setting::output_format_parallel_formatting]);
6248+
query_context->getSettingsRef()[Setting::output_format_parallel_formatting],
6249+
query_context->getSettingsRef()[Setting::output_format_parallel_formatting_parquet]);
62486250

62496251
std::lock_guard lock(export_manifests_mutex);
62506252

@@ -6292,6 +6294,7 @@ void MergeTreeData::exportPartToTableImpl(
62926294
{
62936295
auto context_copy = Context::createCopy(local_context);
62946296
context_copy->setSetting("output_format_parallel_formatting", manifest.parallel_formatting);
6297+
context_copy->setSetting("output_format_parquet_parallel_encoding", manifest.parallel_formatting_parquet);
62956298

62966299
sink = destination_storage->import(
62976300
manifest.data_part->name + "_" + manifest.data_part->checksums.getTotalChecksumHex(),

src/Storages/MergeTree/MergeTreeExportManifest.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,21 @@ struct MergeTreeExportManifest
1313
const StorageID & destination_storage_id_,
1414
const DataPartPtr & data_part_,
1515
bool overwrite_file_if_exists_,
16-
bool parallel_formatting_)
16+
bool parallel_formatting_,
17+
bool parallel_formatting_parquet_)
1718
: destination_storage_id(destination_storage_id_),
1819
data_part(data_part_),
1920
overwrite_file_if_exists(overwrite_file_if_exists_),
2021
parallel_formatting(parallel_formatting_),
22+
parallel_formatting_parquet(parallel_formatting_parquet_),
2123
create_time(time(nullptr)) {}
2224

2325
StorageID destination_storage_id;
2426
DataPartPtr data_part;
2527
bool overwrite_file_if_exists;
2628
bool parallel_formatting;
29+
/// parquet has a different setting for parallel formatting
30+
bool parallel_formatting_parquet;
2731

2832
time_t create_time;
2933
mutable bool in_progress = false;

0 commit comments

Comments
 (0)