in src/datamigration/dags/datamigration_utils/hive_bq_load_utils_inc.py [0:0]
def partition_cluster_col_subcmd_1(partition_column, clustering_column, file_format):
"""
Creates a BQ subcommand for partitioned and clustered tables
"""
if (
partition_column is not None and clustering_column is not None
): # Table is partitioned & clusterd
pccmd = (
" --hive_partitioning_mode=AUTO --time_partitioning_field={partition_column} --clustering_fields='{clustering_column}' "
).format(partition_column=partition_column, clustering_column=clustering_column)
elif partition_column is not None: # Table is only partitioned
pccmd = (
" --hive_partitioning_mode=AUTO --time_partitioning_field={partition_column} "
).format(partition_column=partition_column)
elif clustering_column is not None: # Table is only clusterd
pccmd = (" --clustering_fields='{clustering_column}' ").format(
clustering_column=clustering_column
)
else:
pccmd = ""
if file_format == "CSV":
pccmd = pccmd.replace(f"--time_partitioning_field={partition_column}", "")
return pccmd