Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added use orc column names session #24158

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ public class HiveCommonClientConfig
private boolean rangeFiltersOnSubscriptsEnabled;
private boolean readNullMaskedParquetEncryptedValueEnabled;
private boolean useParquetColumnNames;
private boolean useOrcColumnNames;
private boolean zstdJniDecompressionEnabled;

public NodeSelectionStrategy getNodeSelectionStrategy()
Expand Down Expand Up @@ -273,6 +274,19 @@ public HiveCommonClientConfig setUseParquetColumnNames(boolean useParquetColumnN
return this;
}

public boolean isUseOrcColumnNames()
{
return useOrcColumnNames;
}

@Config("hive.orc.use-column-names")
@ConfigDescription("Access ORC columns using names from the file first, and fallback to Hive schema column names if not found to ensure backward compatibility with old data")
public HiveCommonClientConfig setUseOrcColumnNames(boolean useOrcColumnNames)
{
this.useOrcColumnNames = useOrcColumnNames;
return this;
}

public boolean isZstdJniDecompressionEnabled()
{
return zstdJniDecompressionEnabled;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public class HiveCommonSessionProperties
private static final String PARQUET_BATCH_READER_VERIFICATION_ENABLED = "parquet_batch_reader_verification_enabled";
private static final String PARQUET_MAX_READ_BLOCK_SIZE = "parquet_max_read_block_size";
private static final String PARQUET_USE_COLUMN_NAMES = "parquet_use_column_names";
private static final String ORC_USE_COLUMN_NAMES = "orc_use_column_names";
public static final String READ_MASKED_VALUE_ENABLED = "read_null_masked_parquet_encrypted_value_enabled";
private final List<PropertyMetadata<?>> sessionProperties;

Expand Down Expand Up @@ -173,6 +174,11 @@ public HiveCommonSessionProperties(HiveCommonClientConfig hiveCommonClientConfig
"Experimental: Parquet: Access Parquet columns using names from the file",
hiveCommonClientConfig.isUseParquetColumnNames(),
false),
booleanProperty(
ORC_USE_COLUMN_NAMES,
"Experimental: ORC: Access ORC columns using names from the file",
hiveCommonClientConfig.isUseOrcColumnNames(),
false),
booleanProperty(
READ_MASKED_VALUE_ENABLED,
"Return null when access is denied for an encrypted parquet column",
Expand Down Expand Up @@ -276,6 +282,11 @@ public static boolean isUseParquetColumnNames(ConnectorSession session)
{
return session.getProperty(PARQUET_USE_COLUMN_NAMES, Boolean.class);
}

public static boolean isUseOrcColumnNames(ConnectorSession session)
{
return session.getProperty(ORC_USE_COLUMN_NAMES, Boolean.class);
}

public static boolean isRangeFiltersOnSubscriptsEnabled(ConnectorSession session)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,6 @@ public class HiveClientConfig

private DataSize textMaxLineLength = new DataSize(100, MEGABYTE);
private boolean assumeCanonicalPartitionKeys;
private boolean useOrcColumnNames;
private double orcDefaultBloomFilterFpp = 0.05;
private boolean rcfileOptimizedWriterEnabled = true;
private boolean rcfileWriterValidate;
Expand Down Expand Up @@ -750,19 +749,6 @@ public HiveClientConfig setS3FileSystemType(S3FileSystemType s3FileSystemType)
return this;
}

public boolean isUseOrcColumnNames()
{
return useOrcColumnNames;
}

@Config("hive.orc.use-column-names")
@ConfigDescription("Access ORC columns using names from the file first, and fallback to Hive schema column names if not found to ensure backward compatibility with old data")
public HiveClientConfig setUseOrcColumnNames(boolean useOrcColumnNames)
{
this.useOrcColumnNames = useOrcColumnNames;
return this;
}

public double getOrcDefaultBloomFilterFpp()
{
return orcDefaultBloomFilterFpp;
Expand Down
Loading