Skip to content

Commit

Permalink
fix: external table definition parquet format options (#2535)
Browse files Browse the repository at this point in the history
* fix: set parquet format options for external tables

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* fix: set parquet format options for external tables

* 🦉 Updates from OwlBot post-processor

See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md

* fix: set parquet format options for external tables

---------

Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
Co-authored-by: Neenu Shaji <Neenu1995@users.noreply.github.com>
  • Loading branch information
3 people committed Mar 7, 2023
1 parent f4b8412 commit eb45973
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 3 deletions.
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -59,13 +59,13 @@ implementation 'com.google.cloud:google-cloud-bigquery'
If you are using Gradle without BOM, add this to your dependencies:

```Groovy
implementation 'com.google.cloud:google-cloud-bigquery:2.23.0'
implementation 'com.google.cloud:google-cloud-bigquery:2.23.1'
```

If you are using SBT, add this to your dependencies:

```Scala
libraryDependencies += "com.google.cloud" % "google-cloud-bigquery" % "2.23.0"
libraryDependencies += "com.google.cloud" % "google-cloud-bigquery" % "2.23.1"
```

## Authentication
Expand Down
Expand Up @@ -311,6 +311,9 @@ com.google.api.services.bigquery.model.ExternalDataConfiguration toExternalDataC
if (getDecimalTargetTypes() != null) {
externalConfigurationPb.setDecimalTargetTypes(getDecimalTargetTypes());
}
if (getFormatOptions() != null && FormatOptions.PARQUET.equals(getFormatOptions().getType())) {
externalConfigurationPb.setParquetOptions(((ParquetOptions) getFormatOptions()).toPb());
}
if (getFormatOptions() != null && FormatOptions.AVRO.equals(getFormatOptions().getType())) {
externalConfigurationPb.setAvroOptions(((AvroOptions) getFormatOptions()).toPb());
}
Expand Down
Expand Up @@ -107,7 +107,7 @@ public static FormatOptions googleSheets() {

/** Default options for PARQUET format. */
public static FormatOptions parquet() {
return new FormatOptions(PARQUET);
return ParquetOptions.newBuilder().build();
}

/** Default options for the ORC format. */
Expand Down
Expand Up @@ -52,6 +52,7 @@ public class ExternalTableDefinitionTest {
private static final Boolean AUTODETECT = true;
private static final AvroOptions AVRO_OPTIONS = AvroOptions.newBuilder().build();
private static final CsvOptions CSV_OPTIONS = CsvOptions.newBuilder().build();
private static final ParquetOptions PARQUET_OPTIONS = ParquetOptions.newBuilder().build();
private static final HivePartitioningOptions HIVE_PARTITIONING_OPTIONS =
HivePartitioningOptions.newBuilder()
.setMode("AUTO")
Expand All @@ -71,6 +72,9 @@ public class ExternalTableDefinitionTest {
private static final ExternalTableDefinition EXTERNAL_TABLE_DEFINITION_AVRO =
ExternalTableDefinition.newBuilder(SOURCE_URIS, TABLE_SCHEMA, AVRO_OPTIONS).build();

private static final ExternalTableDefinition EXTERNAL_TABLE_DEFINITION_PARQUET =
ExternalTableDefinition.newBuilder(SOURCE_URIS, TABLE_SCHEMA, PARQUET_OPTIONS).build();

@Test
public void testToBuilder() {
compareExternalTableDefinition(
Expand Down Expand Up @@ -136,6 +140,17 @@ public void testToAndFromPb() {
externalTableDefinition, ExternalTableDefinition.fromPb(externalTableDefinition.toPb()));
}

@Test
public void testToAndFromPbParquet() {
compareExternalTableDefinition(
EXTERNAL_TABLE_DEFINITION_PARQUET,
ExternalTableDefinition.fromPb(EXTERNAL_TABLE_DEFINITION_PARQUET.toPb()));
ExternalTableDefinition externalTableDefinition =
ExternalTableDefinition.newBuilder(SOURCE_URIS, TABLE_SCHEMA, PARQUET_OPTIONS).build();
compareExternalTableDefinition(
externalTableDefinition, ExternalTableDefinition.fromPb(externalTableDefinition.toPb()));
}

private void compareExternalTableDefinition(
ExternalTableDefinition expected, ExternalTableDefinition value) {
assertEquals(expected, value);
Expand Down

0 comments on commit eb45973

Please sign in to comment.