- Issue #216: removed redundant ALPN dependency
- Issue #219: Fixed the LessThanOrEqual filter SQL compilation in the DataSource v2 implmentation
- Issue #221: Fixed ProtobufUtilsTest.java with newer BigQuery dependencies
- PR #229: Adding support for Spark ML Vector and Matrix data types
- BigQuery API has been upgraded to version 1.116.8
- BigQuery Storage API has been upgraded to version 1.3.1
- PR #201: Structured streaming write is now supported (thanks @varundhussa)
- PR #202: Users now has the option to keep the data on GCS after writing to BigQuery (thanks @leoneuwald)
- PR #211: Enabling to overwrite data of a single date partition
- PR #198: Supporting columnar batch reads from Spark in the DataSource V2 implementation. It is not ready for production use.
- PR #192: Supporting
MATERIALIZED_VIEW
as table type - Issue #197: Conditions on StructType fields are now handled by Spark and not the connector
- BigQuery API has been upgraded to version 1.116.3
- BigQuery Storage API has been upgraded to version 1.0.0
- Netty has been upgraded to version 4.1.48.Final (Fixing issue #200)
- PR #186: Fixed SparkBigQueryConnectorUserAgentProvider initialization bug
Please don't use this version, use 0.16.1 instead
- PR #180: Apache Arrow is now the default read format. Based on our benchmarking, Arrow provides read performance faster by 40% then Avro.
- PR #163: Apache Avro was added as a write intermediate format. It shows better performance over parquet in large (>50GB) datasets. The spark-avro package must be added in runtime in order to use this format.
- PR #176: Usage simplification: Now instead of using the
table
mandatory option, user can use the built inpath
parameter ofload()
andsave()
, so that read becomesdf = spark.read.format("bigquery").load("source_table")
and write becomesdf.write.format("bigquery").save("target_table")
- An experimental implementation of the DataSource v2 API has been added. It is not ready for production use.
- BigQuery API has been upgraded to version 1.116.1
- BigQuery Storage API has been upgraded to version 0.133.2-beta
- gRPC has been upgraded to version 1.29.0
- Guava has been upgraded to version 29.0-jre
- PR #158: Users can now add the
spark.datasource.bigquery
prefix to the configuration options in order to support Spark's--conf
command line flag - PR #160: View materialization is performed only on action, fixing a bug where view materialization was done too early
- PR #150: Reading
DataFrame
s should be quicker, especially in interactive usage such in notebooks - PR #154: Upgraded to the BigQuery Storage v1 API
- PR #146: Authentication can be done using AccessToken
on top of Credentials file, Credentials, and the
GOOGLE_APPLICATION_CREDENTIALS
environment variable.
- Issue #96: Added Arrow as a supported format for reading from BigQuery
- Issue #130 Adding the field description to the schema metadata
- Issue #124: Fixing null values in ArrayType
- Issue #143: Allowing the setting of
SchemaUpdateOption
s When writing to BigQuery - PR #148: Add support for writing clustered tables
- Upgrade version of google-cloud-bigquery library to 1.110.0
- Upgrade version of google-cloud-bigquerystorage library to 0.126.0-beta
- The BigQuery Storage API was reverted to v1beta1. The v1beta2 API has not been fully integrated with custom IAM roles, which can cause issues to customers using those. The v1beta1 doesn't have this problem. Once the integration is complete, the API will be upgraded again.
Please don't use this version, use 0.13.1-beta instead
- Moved to use BigQuery Storage API v1beta2
- changed the
parallelism
parameter tomaxParallelism
in order to reflect the Change in the underlining API (the old parameter has been deprecated) - Upgrade version of google-cloud-bigquerystorage library to 0.122.0-beta.
- Issue #73: Optimized empty projection used for count() execution.
- Issue #121: Added the option to configure CreateDisposition when inserting data to BigQuery.
- Issue #72: Moved the shaded jar name from classifier to a new artifact name
- Issues #73, #87: Added better logging to help understand which columns and filters are asked by spark, and which are passed down to BigQuery
- Issue #107: The connector will now alert when is is used with the wrong scala version
- Upgrade version of google-cloud-bigquery library to 1.102.0
- Upgrade version of google-cloud-bigquerystorage library to 0.120.0-beta
- Issue #6: Do not initialize bigquery options by default
- Added ReadRows retries on GRPC internal errors
- Issue #97: Added support for GEOGRAPHY type
- Added preliminary support for reading from BigQuery views (Issue #21)
- Writing to BigQuery now white-listing the intermediate files instead of black listing the _SUCCESS files (PR #75)
- Added count() tip to the README
- Upgrade version of google-cloud-bigquery library to 1.99.0
- Upgrade version of google-cloud-bigquerystorage library to 0.117.0-beta
- Upgrade version of grpc-netty-shaded library to 1.24.1
- Supporting reading large rows (Issue #22, https://issuetracker.google.com/143730055)
- Made sure that all filters are pushed down (Issue #74)
- Fixing log severity
- Added Java Example
- A NPE in the shutdown hook has occurred in case the delete had succeeded in the first time. This had no impact on the actual logic, just on the log. The method now verifies the path exists before trying to delete it, and hides the redundant exception.
- Added support for data.write.bigquery("table") implicit import, fixed regression caused by relying of shaded scalalogging
- Added write support
- Switch requested partitions from SparkContext.defaultParallelism to one partition per 400MB. This should work better with balanced sharding and dynamic allocation.
- Cross built for both Scala 2.11 and 2.12
- Upgrade version of google-cloud-bigquery library to 1.96.0
- Upgrade version of google-cloud-bigquerystorage library to 0.114.0-beta
- Upgrade version of grpc-netty-shaded library to 1.23.0
- Added a shaded version
- Upgrade version of google-cloud-bigquery library to 1.82.0
- Upgrade version of google-cloud-bigquerystorage library to 0.98.0-beta
- Upgrade version of grpc-netty-shaded library to 1.22.1
- Use balanced sharding strategy to assign roughly same number of rows to each read stream.
- Update filtering support to reflect full set of filters supported by storage API (multi-clause predicates, pseudo-column variables, additional filter clauses - IsNull, IsNotNull, In, StringStartsWith, StringEndsWith, StringContains etc.)
- Switch to using the BALANCED sharding strategy, which balances work between streams on the server-side, leading to a more uniform distribution of rows between partitions
- Support specifying credentials through configurations
- Support Numeric type
- Refactor tests to manage test datasets
- Initial release