diff --git a/.vscode/cspell.json b/.vscode/cspell.json index 3eebb52c6caa..62a33b075301 100644 --- a/.vscode/cspell.json +++ b/.vscode/cspell.json @@ -98,10 +98,12 @@ "sdk/containerregistry/azure-containers-containerregistry/**", "sdk/cosmos/azure-cosmos-dotnet-benchmark/**", "sdk/cosmos/azure-cosmos-benchmark/**", + "sdk/cosmos/azure-cosmos-spark_3/**", "sdk/cosmos/azure-cosmos-spark_3-1_2-12/**", "sdk/cosmos/azure-cosmos-spark_3-2_2-12/**", "sdk/cosmos/azure-cosmos-spark_3-3_2-12/**", "sdk/cosmos/azure-cosmos-spark_3-4_2-12/**", + "sdk/cosmos/azure-cosmos-spark_3-5/**", "sdk/cosmos/azure-cosmos-spark_3-5_2-12/**", "sdk/cosmos/azure-cosmos-spark-account-data-resolver-sample/**", "sdk/cosmos/fabric-cosmos-spark-auth_3/**", diff --git a/eng/versioning/version_client.txt b/eng/versioning/version_client.txt index c7dd6020f066..d07aa1f057ed 100644 --- a/eng/versioning/version_client.txt +++ b/eng/versioning/version_client.txt @@ -104,7 +104,8 @@ com.azure:azure-core-tracing-opentelemetry-samples;1.0.0-beta.1;1.0.0-beta.1 com.azure:azure-core-version-tests;1.0.0-beta.1;1.0.0-beta.1 com.azure:azure-cosmos;4.75.0;4.76.0-beta.1 com.azure:azure-cosmos-benchmark;4.0.1-beta.1;4.0.1-beta.1 -com.azure.cosmos.spark:azure-cosmos-spark_3_2-12;1.0.0-beta.1;1.0.0-beta.1 +com.azure.cosmos.spark:azure-cosmos-spark_3;0.0.1-beta.1;0.0.1-beta.1 +com.azure.cosmos.spark:azure-cosmos-spark_3-5;0.0.1-beta.1;0.0.1-beta.1 com.azure:azure-cosmos-encryption;2.24.0;2.25.0-beta.1 com.azure.cosmos.spark:azure-cosmos-spark-account-data-resolver-sample;1.0.0-beta.1;1.0.0-beta.1 com.azure:azure-cosmos-test;1.0.0-beta.15;1.0.0-beta.16 diff --git a/sdk/cosmos/azure-cosmos-spark_3-1_2-12/migration-guide.md b/sdk/cosmos/azure-cosmos-spark_3-1_2-12/migration-guide.md index ea554bd33134..e4464de2d814 100644 --- a/sdk/cosmos/azure-cosmos-spark_3-1_2-12/migration-guide.md +++ b/sdk/cosmos/azure-cosmos-spark_3-1_2-12/migration-guide.md @@ -1,7 +1,7 @@ # Azure Cosmos DB OLTP Spark 3 connector ## Azure Cosmos DB OLTP Spark 3.1 connector - Migration to Spark 3.5 -There are no application-level changes required to migrate from Spark 3.1 or 3.2 to Spark 3.5 from the perspective of the Azure Cosmos DB Spark connector. Information on how to install the latest Connector version for the target Spark runtime can be found in the [Quick Start Guide](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/quick-start.md) +There are no application-level changes required to migrate from Spark 3.1 or 3.2 to Spark 3.5 from the perspective of the Azure Cosmos DB Spark connector. Information on how to install the latest Connector version for the target Spark runtime can be found in the [Quick Start Guide](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3/docs/quick-start.md) ## Spark runtime **Azure Databricks**, **Azure Synapse** and **Azure HDInsights** don't provide any supported runtime for Spark 3.1 anymore. To migrate to a supported Spark runtime, please follow the guidance below. diff --git a/sdk/cosmos/azure-cosmos-spark_3-2_2-12/migration-guide.md b/sdk/cosmos/azure-cosmos-spark_3-2_2-12/migration-guide.md index 60beb59b1d27..788e6583537e 100644 --- a/sdk/cosmos/azure-cosmos-spark_3-2_2-12/migration-guide.md +++ b/sdk/cosmos/azure-cosmos-spark_3-2_2-12/migration-guide.md @@ -1,7 +1,7 @@ # Azure Cosmos DB OLTP Spark 3 connector ## Azure Cosmos DB OLTP Spark 3.2 connector - Migration to Spark 3.5 -There are no application-level changes required to migrate from Spark 3.1 or 3.2 to Spark 3.5 from the perspective of the Azure Cosmos DB Spark connector. Information on how to install the latest Connector version for the target Spark runtime can be found in the [Quick Start Guide](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/quick-start.md) +There are no application-level changes required to migrate from Spark 3.1 or 3.2 to Spark 3.5 from the perspective of the Azure Cosmos DB Spark connector. Information on how to install the latest Connector version for the target Spark runtime can be found in the [Quick Start Guide](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3/docs/quick-start.md) ## Spark runtime **Azure Databricks**, **Azure Synapse** and **Azure HDInsights** don't provide any supported runtime for Spark 3.1 anymore. To migrate to a supported Spark runtime, please follow the guidance below. diff --git a/sdk/cosmos/azure-cosmos-spark_3-3_2-12/pom.xml b/sdk/cosmos/azure-cosmos-spark_3-3_2-12/pom.xml index 1baa384d02a9..948990bafe7f 100644 --- a/sdk/cosmos/azure-cosmos-spark_3-3_2-12/pom.xml +++ b/sdk/cosmos/azure-cosmos-spark_3-3_2-12/pom.xml @@ -5,9 +5,9 @@ 4.0.0 com.azure.cosmos.spark - azure-cosmos-spark_3_2-12 - 1.0.0-beta.1 - ../azure-cosmos-spark_3_2-12 + azure-cosmos-spark_3 + 0.0.1-beta.1 + ../azure-cosmos-spark_3 com.azure.cosmos.spark azure-cosmos-spark_3-3_2-12 @@ -59,7 +59,7 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/main/scala + ${basedir}/../azure-cosmos-spark_3/src/main/scala ${basedir}/src/main/scala @@ -72,7 +72,7 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/test/scala + ${basedir}/../azure-cosmos-spark_3/src/test/scala ${basedir}/src/test/scala @@ -85,7 +85,7 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/main/resources + ${basedir}/../azure-cosmos-spark_3/src/main/resources ${basedir}/src/main/resources diff --git a/sdk/cosmos/azure-cosmos-spark_3-4_2-12/pom.xml b/sdk/cosmos/azure-cosmos-spark_3-4_2-12/pom.xml index 352036fda035..fcecfd210ea5 100644 --- a/sdk/cosmos/azure-cosmos-spark_3-4_2-12/pom.xml +++ b/sdk/cosmos/azure-cosmos-spark_3-4_2-12/pom.xml @@ -5,9 +5,9 @@ 4.0.0 com.azure.cosmos.spark - azure-cosmos-spark_3_2-12 - 1.0.0-beta.1 - ../azure-cosmos-spark_3_2-12 + azure-cosmos-spark_3 + 0.0.1-beta.1 + ../azure-cosmos-spark_3 com.azure.cosmos.spark azure-cosmos-spark_3-4_2-12 @@ -59,7 +59,7 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/main/scala + ${basedir}/../azure-cosmos-spark_3/src/main/scala ${basedir}/src/main/scala @@ -72,7 +72,7 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/test/scala + ${basedir}/../azure-cosmos-spark_3/src/test/scala ${basedir}/src/test/scala @@ -85,7 +85,7 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/main/resources + ${basedir}/../azure-cosmos-spark_3/src/main/resources ${basedir}/src/main/resources diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/CHANGELOG.md b/sdk/cosmos/azure-cosmos-spark_3-5/CHANGELOG.md similarity index 91% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/CHANGELOG.md rename to sdk/cosmos/azure-cosmos-spark_3-5/CHANGELOG.md index b738a6380b02..0be527075fee 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/CHANGELOG.md +++ b/sdk/cosmos/azure-cosmos-spark_3-5/CHANGELOG.md @@ -1,5 +1,5 @@ ## Release History -### 1.0.0-beta.1 (Unreleased) +### 0.0.1-beta.1 (Unreleased) This maven-package will never be released - it is just used to share code between the child projects for specific Spark versions. diff --git a/sdk/cosmos/azure-cosmos-spark_3-5/CONTRIBUTING.md b/sdk/cosmos/azure-cosmos-spark_3-5/CONTRIBUTING.md new file mode 100644 index 000000000000..a8b1ac89996c --- /dev/null +++ b/sdk/cosmos/azure-cosmos-spark_3-5/CONTRIBUTING.md @@ -0,0 +1,84 @@ +# Contributing +This instruction is guideline for building and code contribution. + +## Prerequisites +- JDK 8 and above +- [Maven](https://maven.apache.org/) 3.0 and above + +## Build from source +To build the project, run maven commands. + +```bash +git clone https://github.com/Azure/azure-sdk-for-java.git +cd sdk/cosmos/azure-cosmos-spark_3-5_2-12 +mvn clean install +``` + +## Test +There are integration tests on azure and on emulator to trigger integration test execution +against Azure Cosmos DB and against +[Azure Cosmos DB Emulator](https://docs.microsoft.com/azure/cosmos-db/local-emulator), you need to +follow the link to set up emulator before test execution. + +- Run unit tests +```bash +mvn clean install -Dgpg.skip +``` + +- Run integration tests + - on Azure + > **NOTE** Please note that integration test against Azure requires Azure Cosmos DB Document + API and will automatically create a Cosmos database in your Azure subscription, then there + will be **Azure usage fee.** + + Integration tests will require a Azure Subscription. If you don't already have an Azure + subscription, you can activate your + [MSDN subscriber benefits](https://azure.microsoft.com/pricing/member-offers/msdn-benefits-details/) + or sign up for a [free Azure account](https://azure.microsoft.com/free/). + + 1. Create an Azure Cosmos DB on Azure. + - Go to [Azure portal](https://portal.azure.com/) and click +New. + - Click Databases, and then click Azure Cosmos DB to create your database. + - Navigate to the database you have created, and click Access keys and copy your + URI and access keys for your database. + + 2. Set environment variables ACCOUNT_HOST, ACCOUNT_KEY and SECONDARY_ACCOUNT_KEY, where value + of them are Cosmos account URI, primary key and secondary key. + + So set the + second group environment variables NEW_ACCOUNT_HOST, NEW_ACCOUNT_KEY and + NEW_SECONDARY_ACCOUNT_KEY, the two group environment variables can be same. + 3. Run maven command with `integration-test-azure` profile. + + ```bash + set ACCOUNT_HOST=your-cosmos-account-uri + set ACCOUNT_KEY=your-cosmos-account-primary-key + set SECONDARY_ACCOUNT_KEY=your-cosmos-account-secondary-key + + set NEW_ACCOUNT_HOST=your-cosmos-account-uri + set NEW_ACCOUNT_KEY=your-cosmos-account-primary-key + set NEW_SECONDARY_ACCOUNT_KEY=your-cosmos-account-secondary-key + mvnw -P integration-test-azure clean install + ``` + + - on Emulator + + Setup Azure Cosmos DB Emulator by following + [this instruction](https://docs.microsoft.com/azure/cosmos-db/local-emulator), and set + associated environment variables. Then run test with: + ```bash + mvnw -P integration-test-emulator install + ``` + + +- Skip tests execution +```bash +mvn clean install -Dgpg.skip -DskipTests +``` + +## Version management +Developing version naming convention is like `0.1.2-beta.1`. Release version naming convention is like `0.1.2`. + +## Contribute to code +Contribution is welcome. Please follow +[this instruction](https://github.com/Azure/azure-sdk-for-java/blob/main/CONTRIBUTING.md) to contribute code. diff --git a/sdk/cosmos/azure-cosmos-spark_3-5/README.md b/sdk/cosmos/azure-cosmos-spark_3-5/README.md new file mode 100644 index 000000000000..7e2b08570de8 --- /dev/null +++ b/sdk/cosmos/azure-cosmos-spark_3-5/README.md @@ -0,0 +1 @@ +## Azure Cosmos DB OLTP Spark 3-5 connector shared source \ No newline at end of file diff --git a/sdk/cosmos/azure-cosmos-spark_3-5/pom.xml b/sdk/cosmos/azure-cosmos-spark_3-5/pom.xml new file mode 100644 index 000000000000..348d8c15caec --- /dev/null +++ b/sdk/cosmos/azure-cosmos-spark_3-5/pom.xml @@ -0,0 +1,137 @@ + + + 4.0.0 + + com.azure.cosmos.spark + azure-cosmos-spark_3 + 0.0.1-beta.1 + ../azure-cosmos-spark_3 + + com.azure.cosmos.spark + azure-cosmos-spark_3-5 + 0.0.1-beta.1 + pom + + true + true + true + true + true + true + true + ${cosmos.spark.skip} + ${cosmos.spark.skip} + 3.5 + + + + build-scala + + + ${basedir}/scalastyle_config.xml + + + + + + org.codehaus.mojo + build-helper-maven-plugin + 3.6.1 + + + add-sources + generate-sources + + add-source + + + + ${basedir}/../azure-cosmos-spark_3/src/main/scala + ${basedir}/../azure-cosmos-spark_3-5/src/main/scala + + + + + add-test-sources + generate-test-sources + + add-test-source + + + + ${basedir}/../azure-cosmos-spark_3/src/test/scala + ${basedir}/../azure-cosmos-spark_3-5/src/test/scala + + + + + add-resources + generate-resources + + add-resource + + + + ${basedir}/../azure-cosmos-spark_3/src/main/resources + ${basedir}/../azure-cosmos-spark_3-5/src/main/resources + + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 3.6.1 + + + + + + + + org.apache.spark + spark-sql_2.12 + 3.5.0 + + + io.netty + netty-all + + + org.slf4j + * + + + provided + + + org.apache.spark + spark-hive_2.12 + 3.5.0 + + + io.netty + netty-all + + + org.slf4j + * + + + test + + + com.fasterxml.jackson.core + jackson-databind + 2.18.4 + + + com.fasterxml.jackson.module + jackson-module-scala_2.12 + 2.18.4 + + + diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedMicroBatchStream.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/ChangeFeedMicroBatchStream.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedMicroBatchStream.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/ChangeFeedMicroBatchStream.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosBytesWrittenMetric.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosBytesWrittenMetric.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosBytesWrittenMetric.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosBytesWrittenMetric.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosCatalog.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosCatalog.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosCatalog.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosCatalog.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosRecordsWrittenMetric.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosRecordsWrittenMetric.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosRecordsWrittenMetric.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosRecordsWrittenMetric.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosRowConverter.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosRowConverter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosRowConverter.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosRowConverter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosWriter.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosWriter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/CosmosWriter.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/CosmosWriter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/ItemsScan.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/ItemsScan.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/ItemsScan.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/ItemsScan.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/ItemsScanBuilder.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/ItemsScanBuilder.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/ItemsScanBuilder.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/ItemsScanBuilder.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/ItemsWriterBuilder.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/ItemsWriterBuilder.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/ItemsWriterBuilder.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/ItemsWriterBuilder.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/RowSerializerPool.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/RowSerializerPool.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/RowSerializerPool.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/RowSerializerPool.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/SparkInternalsBridge.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/SparkInternalsBridge.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/SparkInternalsBridge.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/SparkInternalsBridge.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/TotalRequestChargeMetric.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/TotalRequestChargeMetric.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/main/scala/com/azure/cosmos/spark/TotalRequestChargeMetric.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/main/scala/com/azure/cosmos/spark/TotalRequestChargeMetric.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/CosmosCatalogITest.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/CosmosCatalogITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/CosmosCatalogITest.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/CosmosCatalogITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterTest.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterTest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterTest.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterTest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/ItemsScanITest.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/ItemsScanITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/ItemsScanITest.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/ItemsScanITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/RowSerializerPollTest.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/RowSerializerPollTest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/RowSerializerPollTest.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/RowSerializerPollTest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EQueryITest.scala b/sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/SparkE2EQueryITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3-5_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EQueryITest.scala rename to sdk/cosmos/azure-cosmos-spark_3-5/src/test/scala/com/azure/cosmos/spark/SparkE2EQueryITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/pom.xml b/sdk/cosmos/azure-cosmos-spark_3-5_2-12/pom.xml index aeb7557fe36b..435e9fd672e5 100644 --- a/sdk/cosmos/azure-cosmos-spark_3-5_2-12/pom.xml +++ b/sdk/cosmos/azure-cosmos-spark_3-5_2-12/pom.xml @@ -5,9 +5,9 @@ 4.0.0 com.azure.cosmos.spark - azure-cosmos-spark_3_2-12 - 1.0.0-beta.1 - ../azure-cosmos-spark_3_2-12 + azure-cosmos-spark_3-5 + 0.0.1-beta.1 + ../azure-cosmos-spark_3-5 com.azure.cosmos.spark azure-cosmos-spark_3-5_2-12 @@ -40,10 +40,7 @@ false - 3.5 - true - @@ -59,7 +56,8 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/main/scala + ${basedir}/../azure-cosmos-spark_3/src/main/scala + ${basedir}/../azure-cosmos-spark_3-5/src/main/scala ${basedir}/src/main/scala @@ -72,7 +70,8 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/test/scala + ${basedir}/../azure-cosmos-spark_3/src/test/scala + ${basedir}/../azure-cosmos-spark_3-5/src/test/scala ${basedir}/src/test/scala @@ -85,7 +84,8 @@ - ${basedir}/../azure-cosmos-spark_3_2-12/src/main/resources + ${basedir}/../azure-cosmos-spark_3/src/main/resources + ${basedir}/../azure-cosmos-spark_3-5/src/main/resources ${basedir}/src/main/resources @@ -150,48 +150,4 @@ - - - org.apache.spark - spark-sql_2.12 - 3.5.0 - - - io.netty - netty-all - - - org.slf4j - * - - - provided - - - org.apache.spark - spark-hive_2.12 - 3.5.0 - - - io.netty - netty-all - - - org.slf4j - * - - - test - - - com.fasterxml.jackson.core - jackson-databind - 2.18.4 - - - com.fasterxml.jackson.module - jackson-module-scala_2.12 - 2.18.4 - - diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/.gitignore b/sdk/cosmos/azure-cosmos-spark_3/.gitignore similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/.gitignore rename to sdk/cosmos/azure-cosmos-spark_3/.gitignore diff --git a/sdk/cosmos/azure-cosmos-spark_3/CHANGELOG.md b/sdk/cosmos/azure-cosmos-spark_3/CHANGELOG.md new file mode 100644 index 000000000000..0be527075fee --- /dev/null +++ b/sdk/cosmos/azure-cosmos-spark_3/CHANGELOG.md @@ -0,0 +1,11 @@ +## Release History +### 0.0.1-beta.1 (Unreleased) +This maven-package will never be released - it is just used to share code between +the child projects for specific Spark versions. + +See the changelog of the sibling projects for the changelog of the connector targeting a specific Spark version. + +#### Features Added +#### Breaking Changes +#### Bugs Fixed +#### Other Changes diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/README.md b/sdk/cosmos/azure-cosmos-spark_3/README.md similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/README.md rename to sdk/cosmos/azure-cosmos-spark_3/README.md diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/CSharp/NYC-Taxi-Data/01_Batch_csharp.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/CSharp/NYC-Taxi-Data/01_Batch_csharp.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/CSharp/NYC-Taxi-Data/01_Batch_csharp.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/CSharp/NYC-Taxi-Data/01_Batch_csharp.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/CSharp/NYC-Taxi-Data/03_CleanUp_csharp.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/CSharp/NYC-Taxi-Data/03_CleanUp_csharp.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/CSharp/NYC-Taxi-Data/03_CleanUp_csharp.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/CSharp/NYC-Taxi-Data/03_CleanUp_csharp.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/CSharp/filtering-while-querying.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/CSharp/filtering-while-querying.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/CSharp/filtering-while-querying.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/CSharp/filtering-while-querying.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveContainerMigration.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveContainerMigration.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveContainerMigration.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveContainerMigration.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveContainerMigrationValidation.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveContainerMigrationValidation.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveContainerMigrationValidation.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveContainerMigrationValidation.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveParallelContainerMigration.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveParallelContainerMigration.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveParallelContainerMigration.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveParallelContainerMigration.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveSingleContainerMigration.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveSingleContainerMigration.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveSingleContainerMigration.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveSingleContainerMigration.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveSingleContainerMigrationValidation.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveSingleContainerMigrationValidation.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/CosmosDBLiveSingleContainerMigrationValidation.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/CosmosDBLiveSingleContainerMigrationValidation.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/README.md b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/README.md similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/README.md rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/README.md diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/cosmosDBLiveMigrationList.csv b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/cosmosDBLiveMigrationList.csv similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/cosmosDBLiveMigrationList.csv rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/cosmosDBLiveMigrationList.csv diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/attach-cluster-o.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/attach-cluster-o.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/attach-cluster-o.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/attach-cluster-o.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/attach-cluster-p.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/attach-cluster-p.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/attach-cluster-p.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/attach-cluster-p.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/attach-cluster.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/attach-cluster.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/attach-cluster.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/attach-cluster.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/checkpoint-o.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/checkpoint-o.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/checkpoint-o.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/checkpoint-o.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/checkpoint.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/checkpoint.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/checkpoint.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/checkpoint.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/import-notebooks.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/import-notebooks.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/import-notebooks.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/import-notebooks.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/jar.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/jar.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/jar.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/jar.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/live-migration-p.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/live-migration-p.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/live-migration-p.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/live-migration-p.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/metadata-p.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/metadata-p.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/metadata-p.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/metadata-p.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/notebooks-in-p.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/notebooks-in-p.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/notebooks-in-p.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/notebooks-in-p.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/run-notebook-o.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/run-notebook-o.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/run-notebook-o.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/run-notebook-o.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/run-notebook.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/run-notebook.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/run-notebook.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/run-notebook.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/spark-cluster.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/spark-cluster.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/spark-cluster.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/spark-cluster.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/streaming-o.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/streaming-o.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/streaming-o.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/streaming-o.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/streaming.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/streaming.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/streaming.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/streaming.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/synthetic-pk-enable.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/synthetic-pk-enable.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/synthetic-pk-enable.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/synthetic-pk-enable.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/synthetic-pk.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/synthetic-pk.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/synthetic-pk.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/synthetic-pk.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/upload-dbfs.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/upload-dbfs.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/upload-dbfs.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/upload-dbfs.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/validation-o.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/validation-o.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/validation-o.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/validation-o.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/validation.jpg b/sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/validation.jpg similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/DatabricksLiveContainerMigration/media/validation.jpg rename to sdk/cosmos/azure-cosmos-spark_3/Samples/DatabricksLiveContainerMigration/media/validation.jpg diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Pyspark-Sample.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/Pyspark-Sample.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Pyspark-Sample.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Pyspark-Sample.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/NYC-Taxi-Data/01_Batch.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/Python/NYC-Taxi-Data/01_Batch.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/NYC-Taxi-Data/01_Batch.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Python/NYC-Taxi-Data/01_Batch.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/NYC-Taxi-Data/02_StructuredStreaming.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/Python/NYC-Taxi-Data/02_StructuredStreaming.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/NYC-Taxi-Data/02_StructuredStreaming.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Python/NYC-Taxi-Data/02_StructuredStreaming.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/NYC-Taxi-Data/03_CleanUp.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/Python/NYC-Taxi-Data/03_CleanUp.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/NYC-Taxi-Data/03_CleanUp.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Python/NYC-Taxi-Data/03_CleanUp.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/Predicate-Pushdown/Predicate-PushDown-Sample.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/Python/Predicate-Pushdown/Predicate-PushDown-Sample.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/Predicate-Pushdown/Predicate-PushDown-Sample.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Python/Predicate-Pushdown/Predicate-PushDown-Sample.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/filtering-during-migration.py b/sdk/cosmos/azure-cosmos-spark_3/Samples/Python/filtering-during-migration.py similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/filtering-during-migration.py rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Python/filtering-during-migration.py diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/hierarchical-partition-key.ipynb b/sdk/cosmos/azure-cosmos-spark_3/Samples/Python/hierarchical-partition-key.ipynb similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/hierarchical-partition-key.ipynb rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Python/hierarchical-partition-key.ipynb diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/patch-sample.py b/sdk/cosmos/azure-cosmos-spark_3/Samples/Python/patch-sample.py similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Python/patch-sample.py rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Python/patch-sample.py diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala-Sample.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/Scala-Sample.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala-Sample.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Scala-Sample.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/NYC-Taxi-Data/01_Batch.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/NYC-Taxi-Data/01_Batch.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/NYC-Taxi-Data/01_Batch.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/NYC-Taxi-Data/01_Batch.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/NYC-Taxi-Data/01_Batch_AAD.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/NYC-Taxi-Data/01_Batch_AAD.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/NYC-Taxi-Data/01_Batch_AAD.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/NYC-Taxi-Data/01_Batch_AAD.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/NYC-Taxi-Data/03_CleanUp.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/NYC-Taxi-Data/03_CleanUp.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/NYC-Taxi-Data/03_CleanUp.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/NYC-Taxi-Data/03_CleanUp.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/PatchSample.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/PatchSample.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/PatchSample.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/PatchSample.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/filteringDuringMigration.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/filteringDuringMigration.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/filteringDuringMigration.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/filteringDuringMigration.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/hierarchical-partition-key.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/hierarchical-partition-key.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/hierarchical-partition-key.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/hierarchical-partition-key.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/readManySample.scala b/sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/readManySample.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/Samples/Scala/readManySample.scala rename to sdk/cosmos/azure-cosmos-spark_3/Samples/Scala/readManySample.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/dev/README.md b/sdk/cosmos/azure-cosmos-spark_3/dev/README.md similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/dev/README.md rename to sdk/cosmos/azure-cosmos-spark_3/dev/README.md diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/dev/THIRD-PARTY.txt b/sdk/cosmos/azure-cosmos-spark_3/dev/THIRD-PARTY.txt similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/dev/THIRD-PARTY.txt rename to sdk/cosmos/azure-cosmos-spark_3/dev/THIRD-PARTY.txt diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/AAD-Auth.md b/sdk/cosmos/azure-cosmos-spark_3/docs/AAD-Auth.md similarity index 98% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/AAD-Auth.md rename to sdk/cosmos/azure-cosmos-spark_3/docs/AAD-Auth.md index da23bce13e26..e042cdd1da11 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/AAD-Auth.md +++ b/sdk/cosmos/azure-cosmos-spark_3/docs/AAD-Auth.md @@ -77,7 +77,7 @@ The MSI endpoint can be overridden via the `AZURE_POD_IDENTITY_TOKEN_URL` enviro ## Using a custom Token Provider -Due to the fact that support for system managed identities and token/secret APIs varies widely between different Spark environments, the Azure Cosmos DB Spark connector provides a service interface [`com.azure.cosmos.spark.AccountDataResolver`](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AccountDataResolver.scala), that can be used to customize retrieval of access tokens. +Due to the fact that support for system managed identities and token/secret APIs varies widely between different Spark environments, the Azure Cosmos DB Spark connector provides a service interface [`com.azure.cosmos.spark.AccountDataResolver`](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AccountDataResolver.scala), that can be used to customize retrieval of access tokens. ### Configuration options @@ -92,7 +92,7 @@ Due to the fact that support for system managed identities and token/secret APIs ### Implementation of a custom `AccountDataResolver` -The latest and complete API documentation for the service interface can be found in the source code for the [`com.azure.cosmos.spark.AccountDataResolver`](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AccountDataResolver.scala) file. In general, there are two methods that a custom `AccountDataResolver` implementation needs to implement: +The latest and complete API documentation for the service interface can be found in the source code for the [`com.azure.cosmos.spark.AccountDataResolver`](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AccountDataResolver.scala) file. In general, there are two methods that a custom `AccountDataResolver` implementation needs to implement: - `getAccountDataConfig`: The purpose of this method is to allow applying configuration changes from the custom `AccountDataResolver`. In Azure Synapse a custom `AccountDataResolver` for example is used to apply the key-based auth configuration for a `Linked Service`. This method could also be used to map other configuration providers (environment variables, separate config files etc.) to the Spark configuration map. Last-but-not-least in many custom 'AccountDataResolver' implementations the configuration entry `spark.cosmos.auth.type` would be set to `AccessToken` to ensure AAD / Microsoft Entra ID authentication via a custom access token provider is used. - `getAccessTokenProvider`: The purpose of this method is to allow the custom `AccountDataResolver` implementation to return a token minting function depending on the configuration map chosen. For performance reasons it is critical that each set of relevant configuration entries only produces a singleton Function instance - what set of configuration entries is relevant to you token minting function depends on your custom implementation. A sample on how to achieve this singleton-pattern based off of the relevant config subset can be found [here](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark-account-data-resolver-sample/src/main/scala/com/azure/cosmos/spark/samples/ManagedIdentityAccountDataResolver.scala). In general, any configuration entry reflecting the AAD/Microsoft Entra-Login Uri or the actual token minting approach (for example `TokenCredential` you are using) should be considered `relevant`. ***NOTE: When the token-minting function is invoked, the `List[String]` input parameter contains a list of the requested audiences/scopes. In most cases you probably want to honor these audiences and pass them to the `TokenRequestContext`when creating the access token, but you have the option to also filter/modify audiences when needed.*** diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/PatchOnSparkConnector.pdf b/sdk/cosmos/azure-cosmos-spark_3/docs/PatchOnSparkConnector.pdf similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/PatchOnSparkConnector.pdf rename to sdk/cosmos/azure-cosmos-spark_3/docs/PatchOnSparkConnector.pdf diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/catalog-api.md b/sdk/cosmos/azure-cosmos-spark_3/docs/catalog-api.md similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/catalog-api.md rename to sdk/cosmos/azure-cosmos-spark_3/docs/catalog-api.md diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/configuration-reference.md b/sdk/cosmos/azure-cosmos-spark_3/docs/configuration-reference.md similarity index 97% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/configuration-reference.md rename to sdk/cosmos/azure-cosmos-spark_3/docs/configuration-reference.md index fb94b85d01ce..33952bfc381d 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/configuration-reference.md +++ b/sdk/cosmos/azure-cosmos-spark_3/docs/configuration-reference.md @@ -26,7 +26,7 @@ ### Diagnostics | Config Property Name | Default | Description | |:-----------------------------------------------------------------------|:------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `spark.cosmos.diagnostics` | `None` | Can be used to enable more verbose diagnostics. Currently the only supported options are `sampled`, `simple`, `feed` and `feed_details`. The mode `simple` will result in additional logs being emitted as `INFO` logs in the Driver and Executor logs. The mode `feed` will provide per `FeedResponse` information and `feed_details` will also add pk and id values of all items in a `FeedResponse` to the logs. Please note that any of these diagnostic modes causes the logs being emitted to increase significantly - so, there will be perf impact when enabling it. Therefore we strongly recommend using the `sampled`mode instead - it enforces an upper limit of additional diagnostics logs - while still providing valuable diagnostics for any oeprations failing or exceeding certain latency / RU-charge thresholds. | +| `spark.cosmos.diagnostics` | `None` | Can be used to enable more verbose diagnostics. Currently the only supported options are `sampled`, `simple`, `feed` and `feed_details`. The mode `simple` will result in additional logs being emitted as `INFO` logs in the Driver and Executor logs. The mode `feed` will provide per `FeedResponse` information and `feed_details` will also add pk and id values of all items in a `FeedResponse` to the logs. Please note that any of these diagnostic modes causes the logs being emitted to increase significantly - so, there will be perf impact when enabling it. Therefore we strongly recommend using the `sampled`mode instead - it enforces an upper limit of additional diagnostics logs - while still providing valuable diagnostics for any operations failing or exceeding certain latency / RU-charge thresholds. | | `spark.cosmos.diagnostics.sampling.maxCount` | `100` | The max. number of operations violating the defined latency or RU-charge thresholds for which diagnostic details are logged to the built-in Spark logs. | | `spark.cosmos.diagnostics.sampling.intervalInSeconds` | `60` | The interval (in seconds) after which the max. number of operations for which detailed diagnostics are logged to the built-in Spark logs is getting reset. | | `spark.cosmos.diagnostics.thresholds.latency.pointOperationInMs` | `1000` | The latency (in ms) which is used as a threshold for point-operations (read, create, upsert, delete, transactional batch). If the latency of an operation exceeds this threshold, detailed diagnostics are logged to the built-in Spark logs. | @@ -49,14 +49,14 @@ | `spark.cosmos.enforceNativeTransport` | `false` | Indicates whether native netty transport should be enforced. If true, on client creation an exception will be thrown if netty is not able to use native transport. The native transport is more efficient especially when there is a high number of connections. | | `spark.cosmos.http.connectionPoolSize` | `1000` | Gateway mode connection pool size | | `spark.cosmos.read.forceEventualConsistency` | `true` | Makes the client use Eventual consistency for read operations instead of using the default account level consistency | -| `spark.cosmos.read.consistencyStrategy` | None | Overrides the read consistency strategy - will override `spark.cosmos.read.forceEventualConsistency` if both are specified. `EVENTUAL` means the same as setting `spark.cosmos.read.forceEventualConsistency` to `true`. `LOCAL_COMMITTED` will ensure quorum reads, `SESSION` will apply session consistency and `DEFAULT` applies the default account-level consistency. (Same as `spark.cosmos.read.forceEventualConsistency` beign `false`). This API is still in preview - currently only `DEFAULT` and `EVENTUAL` can be used in Gateway mode. | +| `spark.cosmos.read.consistencyStrategy` | None | Overrides the read consistency strategy - will override `spark.cosmos.read.forceEventualConsistency` if both are specified. `EVENTUAL` means the same as setting `spark.cosmos.read.forceEventualConsistency` to `true`. `LOCAL_COMMITTED` will ensure quorum reads, `SESSION` will apply session consistency and `DEFAULT` applies the default account-level consistency. (Same as `spark.cosmos.read.forceEventualConsistency` being `false`). This API is still in preview - currently only `DEFAULT` and `EVENTUAL` can be used in Gateway mode. | | `spark.cosmos.applicationName` | None | Application name | -| `spark.cosmos.userAgent.format` | `SparkEnvAndWorkers` | The format of the Spark-specific UserAgent suffix. `NoSparkEnv` omits Spark environment and driver/executor info; `OnlySparkEnv` includes Spark environment but omits per driver/executor runtime info; `SparkEnvAndWorkers` includes both Spark environment and per driver/executor runtime info. | +| `spark.cosmos.userAgent.format` | `SparkEnvAndWorkers` | The format of the Spark-specific UserAgent suffix. `NoSparkEnv` omits Spark environment and driver/executor info; `OnlySparkEnv` includes Spark environment but omits per driver/executor runtime info; `SparkEnvAndWorkers` includes both Spark environment and per driver/executor runtime info. | | `spark.cosmos.preferredRegionsList` | None | Preferred regions list to be used for a multi region Cosmos DB account. This is a comma separated value (e.g., `[East US, West US]` or `East US, West US`) provided preferred regions will be used as hint. You should use a collocated spark cluster with your Cosmos DB account and pass the spark cluster region as preferred region. See list of azure regions [here](https://docs.microsoft.com/dotnet/api/microsoft.azure.documents.locationnames?view=azure-dotnet&preserve-view=true). Please note that you can also use `spark.cosmos.preferredRegions` as alias | | `spark.cosmos.disableTcpConnectionEndpointRediscovery` | `false` | Can be used to disable TCP connection endpoint rediscovery. TCP connection endpoint rediscovery should only be disabled when using custom domain names with private endpoints when using a custom Spark environment. When using Azure Databricks or Azure Synapse as Spark runtime it should never be required to disable endpoint rediscovery. | | `spark.cosmos.read.allowInvalidJsonWithDuplicateJsonProperties` | `false` | By default (when set to false) the Cosmos Java SDK and spark connector will raise a hard failure when json documents are read that contain json object with multiple properties of the same name. This config option can be used to override the behavior and silently ignore the invalid json and instead use the last occurrence of the property when parsing the json. NOTE: This is only meant to be used as a temporary workaround. We strongly recommend fixing the invalid json from even being ingested into the data and only use this workaround while cleaning up the documents with invalid json. | -| `spark.cosmos.proactiveConnectionInitialization` | None | Can be used to define a list (semicolon separated) of `DB/Container` pairs. Conenctions for these containers will be proactively warmed-up when using direct mode. The format of the config would be `DB1/Collection1;DB2/Collection2` etc. | -| `spark.cosmos.proactiveConnectionInitializationDurationInSeconds` | `120` | The maximum duration for which the client when being initialized would aggresisvely try to warm-up collections. After this time perios the warm-up will happen only slowly (on one background thread). | +| `spark.cosmos.proactiveConnectionInitialization` | None | Can be used to define a list (semicolon separated) of `DB/Container` pairs. Connections for these containers will be proactively warmed-up when using direct mode. The format of the config would be `DB1/Collection1;DB2/Collection2` etc. | +| `spark.cosmos.proactiveConnectionInitializationDurationInSeconds` | `120` | The maximum duration for which the client when being initialized would aggressively try to warm-up collections. After this time perios the warm-up will happen only slowly (on one background thread). | | `spark.cosmos.metadata.feedRange.refreshIntervalInSeconds` | `120` | The time interval in seconds to refresh the internal partition key range cache, valid between `[60, 1800]`. By default it is 120 seconds. | ### Write Config @@ -70,7 +70,7 @@ | `spark.cosmos.write.bulk.targetedPayloadSizeInBytes` | `220201` | When the targeted payload size is reached for buffered documents, the request is sent to the backend. The default value is optimized for small documents <= 10 KB - when documents often exceed 110 KB, it can help to increase this value to up to about `1500000` (should still be smaller than 2 MB). | | `spark.cosmos.write.bulk.initialBatchSize` | `100` | Cosmos DB initial bulk micro batch size - a micro batch will be flushed to the backend when the number of documents enqueued exceeds this size - or the target payload size is met. The micro batch size is getting automatically tuned based on the throttling rate. By default the initial micro batch size is 100. Reduce this when you want to avoid that the first few requests consume too many RUs. | | `spark.cosmos.write.bulk.maxBatchSize` | `100` | Cosmos DB max. bulk micro batch size - a micro batch will be flushed to the backend when the number of documents enqueued exceeds this size - or the target payload size is met. The micro batch size is getting automatically tuned based on the throttling rate. By default the max. micro batch size is 100. Use this setting only when migrating Spark 2.4 workloads - for other scenarios relying on the auto-tuning combined with throughput control will result in better experience. | -| `spark.cosmos.write.flush.noProgress.maxIntervalInSeconds` | `180` | The time interval in seconds that write operations will wait when no progress can be made for bulk writes before forcing a retry. The retry will reinitialize the bulk write process - so, any delays on the retry can be sure to be actual service issues. The default value of 3 min should be sufficient to prevent flas negatives when there is a short service-side write unavailability - like for partition splits or merges. Increase it only if you regularly see these transient errors to exceed a time period of 180 seconds. | +| `spark.cosmos.write.flush.noProgress.maxIntervalInSeconds` | `180` | The time interval in seconds that write operations will wait when no progress can be made for bulk writes before forcing a retry. The retry will reinitialize the bulk write process - so, any delays on the retry can be sure to be actual service issues. The default value of 3 min should be sufficient to prevent false negatives when there is a short service-side write unavailability - like for partition splits or merges. Increase it only if you regularly see these transient errors to exceed a time period of 180 seconds. | | `spark.cosmos.write.flush.noProgress.maxRetryIntervalInSeconds` | `2700` | The time interval in seconds that write operations will wait when no progress can be made for bulk writes after the initial attempt (and restarting the bulk writer client-side). This time interval is supposed to be large enough to not fail Spark jobs even when there are transient write availability outages in the service. The default value of 45 minutes can be modified when you rather prefer Spark jobs to fail or extended when needed. | #### Patch Config @@ -107,7 +107,7 @@ Used to influence the json serialization/deserialization behavior | Config Property Name | Default | Description | |:----------------------------------------------------|:----------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `spark.cosmos.serialization.inclusionMode` | `Always` | Determines whether null/default values will be serialized to json or whether properties with null/default value will be skipped. The behavior follows the same ideas as [Jackson's JsonInclude.Include](https://github.com/FasterXML/jackson-annotations/blob/d0820002721c76adad2cc87fcd88bf60f56b64de/src/main/java/com/fasterxml/jackson/annotation/JsonInclude.java#L98-L227). `Always` means json properties are created even for null and default values. `NonNull` means no json properties will be created for explicit null values. `NonEmpty` means json properties will not be created for empty string values or empty arrays/mpas. `NonDefault` means json properties will be skipped not just for null/empty but also when the value is identical to the default value `0` for numeric properties for example. | +| `spark.cosmos.serialization.inclusionMode` | `Always` | Determines whether null/default values will be serialized to json or whether properties with null/default value will be skipped. The behavior follows the same ideas as [Jackson's JsonInclude.Include](https://github.com/FasterXML/jackson-annotations/blob/d0820002721c76adad2cc87fcd88bf60f56b64de/src/main/java/com/fasterxml/jackson/annotation/JsonInclude.java#L98-L227). `Always` means json properties are created even for null and default values. `NonNull` means no json properties will be created for explicit null values. `NonEmpty` means json properties will not be created for empty string values or empty arrays. `NonDefault` means json properties will be skipped not just for null/empty but also when the value is identical to the default value `0` for numeric properties for example. | | `spark.cosmos.serialization.dateTimeConversionMode` | `Default` | The date/time conversion mode (`Default`, `AlwaysEpochMilliseconds`, `AlwaysEpochMillisecondsWithSystemDefaultTimezone`). With `Default` the standard Spark 3.* behavior is used (`java.sql.Date`/`java.time.LocalDate` are converted to EpochDay, `java.sql.Timestamp`/`java.time.Instant` are converted to MicrosecondsFromEpoch). With `AlwaysEpochMilliseconds` the same behavior the Cosmos DB connector for Spark 2.4 used is applied - `java.sql.Date`, `java.time.LocalDate`, `java.sql.Timestamp` and `java.time.Instant` are converted to MillisecondsFromEpoch. The behavior for `AlwaysEpochMillisecondsWithSystemDefaultTimezone` is identical with `AlwaysEpochMilliseconds` except that it will assume System default time zone / Spark session time zone (specified via `spark.sql.session.timezone`) instead of UTC when the date/time to be parsed has no explicit time zone. | #### Change feed (only for Spark-Streaming using `cosmos.oltp.changeFeed` data source, which is read-only) configuration @@ -132,20 +132,20 @@ Used to influence the json serialization/deserialization behavior | `spark.cosmos.partitioning.feedRangeFilter` | None | Can be used to scope the query to a single logical Cosmos partition (or a subset of logical partitions). If this parameter is optionally provided, the partitioning strategy will be modified - only partitions for the scoped logical partitions will be created. So, the main benefit of this config option is to reduce the necessary SparkTasks/Partitions. | ### Throughput Control Config -| Config Property Name | Default | Description | -|:-------------------------------------------------------------------------|:---------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `spark.cosmos.throughputControl.enabled` | `false` | Whether throughput control is enabled | -| `spark.cosmos.throughputControl.accountEndpoint` | None | Cosmos DB Account Endpoint Uri for throughput control. If not defined, then `spark.cosmos.accountEndpoint` will be used. | -| `spark.cosmos.throughputControl.accountKey` | None | Cosmos DB Account Key for throughput control. | -| `spark.cosmos.throughputControl.preferredRegionsList` | None | Preferred regions list to be used for a multi region Cosmos DB account. This is a comma separated value (e.g., `[East US, West US]` or `East US, West US`) provided preferred regions will be used as hint. You should use a collocated spark cluster with your Cosmos DB account and pass the spark cluster region as preferred region. See list of azure regions [here](https://docs.microsoft.com/dotnet/api/microsoft.azure.documents.locationnames?view=azure-dotnet&preserve-view=true). | -| `spark.cosmos.throughputControl.disableTcpConnectionEndpointRediscovery` | `false` | Can be used to disable TCP connection endpoint rediscovery. TCP connection endpoint rediscovery should only be disabled when using custom domain names with private endpoints when using a custom Spark environment. When using Azure Databricks or Azure Synapse as Spark runtime it should never be required to disable endpoint rediscovery. | -| `spark.cosmos.throughputControl.useGatewayMode` | `false` | Use gateway mode for the client operations | -| `spark.cosmos.throughputControl.name` | None | Throughput control group name | -| `spark.cosmos.throughputControl.targetThroughput` | None | Throughput control group target throughput | -| `spark.cosmos.throughputControl.targetThroughputThreshold` | None | Throughput control group target throughput threshold | -| `spark.cosmos.throughputControl.priorityLevel` | None | Throughput control group priority level. The priority level is used to determine which requests will be throttled first when the total throughput of all control groups exceeds the max throughput. Priority based execution is currently in preview. To enable the feature, please follow the instructions [here](https://devblogs.microsoft.com/cosmosdb/introducing-priority-based-execution-in-azure-cosmos-db-preview/#next-steps) | -| `spark.cosmos.throughputControl.globalControl.database` | None | Database which will be used for throughput global control | -| `spark.cosmos.throughputControl.globalControl.container` | None | Container which will be used for throughput global control | -| `spark.cosmos.throughputControl.globalControl.renewIntervalInMS` | `5s` | How often the client is going to update the throughput usage of itself | -| `spark.cosmos.throughputControl.globalControl.expireIntervalInMS` | `11s` | How quickly an offline client will be detected | -| `spark.cosmos.throughputControl.globalControl.useDedicatedContainer` | `true` | Flag to indicat when configured with throughput control, whether dedicated throughput control container will be provided. | +| Config Property Name | Default | Description | +|:-------------------------------------------------------------------------|:---------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `spark.cosmos.throughputControl.enabled` | `false` | Whether throughput control is enabled | +| `spark.cosmos.throughputControl.accountEndpoint` | None | Cosmos DB Account Endpoint Uri for throughput control. If not defined, then `spark.cosmos.accountEndpoint` will be used. | +| `spark.cosmos.throughputControl.accountKey` | None | Cosmos DB Account Key for throughput control. | +| `spark.cosmos.throughputControl.preferredRegionsList` | None | Preferred regions list to be used for a multi region Cosmos DB account. This is a comma separated value (e.g., `[East US, West US]` or `East US, West US`) provided preferred regions will be used as hint. You should use a collocated spark cluster with your Cosmos DB account and pass the spark cluster region as preferred region. See list of azure regions [here](https://docs.microsoft.com/dotnet/api/microsoft.azure.documents.locationnames?view=azure-dotnet&preserve-view=true). | +| `spark.cosmos.throughputControl.disableTcpConnectionEndpointRediscovery` | `false` | Can be used to disable TCP connection endpoint rediscovery. TCP connection endpoint rediscovery should only be disabled when using custom domain names with private endpoints when using a custom Spark environment. When using Azure Databricks or Azure Synapse as Spark runtime it should never be required to disable endpoint rediscovery. | +| `spark.cosmos.throughputControl.useGatewayMode` | `false` | Use gateway mode for the client operations | +| `spark.cosmos.throughputControl.name` | None | Throughput control group name | +| `spark.cosmos.throughputControl.targetThroughput` | None | Throughput control group target throughput | +| `spark.cosmos.throughputControl.targetThroughputThreshold` | None | Throughput control group target throughput threshold | +| `spark.cosmos.throughputControl.priorityLevel` | None | Throughput control group priority level. The priority level is used to determine which requests will be throttled first when the total throughput of all control groups exceeds the max throughput. Priority based execution is currently in preview. To enable the feature, please follow the instructions [here](https://devblogs.microsoft.com/cosmosdb/introducing-priority-based-execution-in-azure-cosmos-db-preview/#next-steps) | +| `spark.cosmos.throughputControl.globalControl.database` | None | Database which will be used for throughput global control | +| `spark.cosmos.throughputControl.globalControl.container` | None | Container which will be used for throughput global control | +| `spark.cosmos.throughputControl.globalControl.renewIntervalInMS` | `5s` | How often the client is going to update the throughput usage of itself | +| `spark.cosmos.throughputControl.globalControl.expireIntervalInMS` | `11s` | How quickly an offline client will be detected | +| `spark.cosmos.throughputControl.globalControl.useDedicatedContainer` | `true` | Flag to indicate when configured with throughput control, whether dedicated throughput control container will be provided. | diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/diagnostics.md b/sdk/cosmos/azure-cosmos-spark_3/docs/diagnostics.md similarity index 94% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/diagnostics.md rename to sdk/cosmos/azure-cosmos-spark_3/docs/diagnostics.md index 2f5a8f7c718c..116348a09730 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/diagnostics.md +++ b/sdk/cosmos/azure-cosmos-spark_3/docs/diagnostics.md @@ -5,7 +5,7 @@ When using the Azure Cosmos DB Spark connector for Spark 3.* you can enable emitting diagnostics (OpenTelemetry traces, log and metrics) to Azure Monitor / ApplicationInsights simply via configuration. The only necessary changes are to set the `spark.cosmos.diagnostics.azureMonitor.enabled` config property to `true` and to specify the Azure Monitor connection string in the `spark.cosmos.diagnostics.azureMonitor.connectionString` setting. ## Configuration -When enabled, this feature will result in emitting OpenTelemetry traces, logs and metrics to Azure Monitor. Each of these areas can be configured/disabled to tune the noise level of the diagnostics - see [Configuration reference](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/configuration-reference.md). +When enabled, this feature will result in emitting OpenTelemetry traces, logs and metrics to Azure Monitor. Each of these areas can be configured/disabled to tune the noise level of the diagnostics - see [Configuration reference](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos/azure-cosmos-spark_3/docs/configuration-reference.md). ### Best practices As a best practice we recommend enabling the following configuration settings for any production workload to enable diagnostics in Azure Monitor. diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/migration.md b/sdk/cosmos/azure-cosmos-spark_3/docs/migration.md similarity index 99% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/migration.md rename to sdk/cosmos/azure-cosmos-spark_3/docs/migration.md index 556be2864ff8..7d3811fea0ff 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/migration.md +++ b/sdk/cosmos/azure-cosmos-spark_3/docs/migration.md @@ -17,7 +17,7 @@ | changefeedmaxpagesperbatch | spark.cosmos.changeFeed.itemCountPerTriggerHint | | | WritingBatchSize | spark.cosmos.write.bulk.maxBatchSize | Recommendation would be to start with the default of `100` (not specifying this config entry - and only adjust (reduce) it when really necessary | | Upsert | spark.cosmos.write.strategy | If you use `ItemOverwrite` here the behavior is the same as with Upsert==true before | -| WriteThroughputBudget | spark.cosmos.throughputControl.* | See the [Throughput control](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/scenarios/Ingestion.md#throughput-control) section for more information | +| WriteThroughputBudget | spark.cosmos.throughputControl.* | See the [Throughput control](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3/docs/scenarios/Ingestion.md#throughput-control) section for more information | | MaxIngestionTaskParallelism | n/a | Not relevant anymore - just remove this config entry | | query_pagesize | n/a | Not relevant anymore - just remove this config entry | | query_custom | spark.cosmos.read.customQuery | When provided the custom query will be processed against the Cosmos endpoint instead of dynamically generating the query via predicate push down. Usually it is recommended to rely on Spark's predicate push down because that will allow to generate the most efficient set of filters based on the query plan. But there are a couple of of predicates like aggregates (count, group by, avg, sum etc.) that cannot be pushed down yet (at least in Spark 3.1) - so the custom query is a fallback to allow them to be pushed into the query sent to Cosmos. | diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/quick-start.md b/sdk/cosmos/azure-cosmos-spark_3/docs/quick-start.md similarity index 99% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/quick-start.md rename to sdk/cosmos/azure-cosmos-spark_3/docs/quick-start.md index ec465f47e21a..ca4c67e9a197 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/quick-start.md +++ b/sdk/cosmos/azure-cosmos-spark_3/docs/quick-start.md @@ -71,7 +71,7 @@ spark.sql("CREATE TABLE IF NOT EXISTS cosmosCatalog.{}.{} using cosmos.oltp TBLP When creating containers with the Catalog API you can set the throughput and [partition key path](https://docs.microsoft.com/azure/cosmos-db/partitioning-overview#choose-partitionkey) for the container to be created. -For more details, see the full [Catalog API](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/catalog-api.md) documentation. +For more details, see the full [Catalog API](https://github.com/Azure/azure-sdk-for-java/blob/main/sdk/cosmos/azure-cosmos-spark_3/docs/catalog-api.md) documentation. ### Ingesting data diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/scenarios/Ingestion.md b/sdk/cosmos/azure-cosmos-spark_3/docs/scenarios/Ingestion.md similarity index 99% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/scenarios/Ingestion.md rename to sdk/cosmos/azure-cosmos-spark_3/docs/scenarios/Ingestion.md index 292b74e2729b..0825a513458f 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/scenarios/Ingestion.md +++ b/sdk/cosmos/azure-cosmos-spark_3/docs/scenarios/Ingestion.md @@ -60,7 +60,7 @@ df \ ### Write strategies -Different write strategies in the `spark.cosmos.write.strategy` configuration parameter can be used to determine what activity shoudl be processed for the records in the DataFrame "written" to Cosmos DB. +Different write strategies in the `spark.cosmos.write.strategy` configuration parameter can be used to determine what activity should be processed for the records in the DataFrame "written" to Cosmos DB. - `ItemOverwrite` (the default write strategy): All items of the source DataFrame will be inserted or updated. If the Cosmos DB container contains a document with the same pk+id, it will be updated otherwise a new documented will be created. Existing documents will be replaced independent of when they have been last updated or if the content would actually change. - `ItemAppend`: For all items in the source DataFrame an attempt will be made to insert a new document - if a document with the same pk+id exists already, the 409/Conflict response will be ignore and the existing document will not be modified. diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/scenarios/media/BulkIngestionProcessOverview.png b/sdk/cosmos/azure-cosmos-spark_3/docs/scenarios/media/BulkIngestionProcessOverview.png similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/scenarios/media/BulkIngestionProcessOverview.png rename to sdk/cosmos/azure-cosmos-spark_3/docs/scenarios/media/BulkIngestionProcessOverview.png diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/scenarios/media/Spark_partitioning.png b/sdk/cosmos/azure-cosmos-spark_3/docs/scenarios/media/Spark_partitioning.png similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/docs/scenarios/media/Spark_partitioning.png rename to sdk/cosmos/azure-cosmos-spark_3/docs/scenarios/media/Spark_partitioning.png diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/pom.xml b/sdk/cosmos/azure-cosmos-spark_3/pom.xml similarity index 99% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/pom.xml rename to sdk/cosmos/azure-cosmos-spark_3/pom.xml index 94e276172dff..366a6e81be5f 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/pom.xml +++ b/sdk/cosmos/azure-cosmos-spark_3/pom.xml @@ -11,8 +11,8 @@ com.azure.cosmos.spark - azure-cosmos-spark_3_2-12 - 1.0.0-beta.1 + azure-cosmos-spark_3 + 0.0.1-beta.1 pom OLTP Spark Connector for Azure Cosmos DB SQL API OLTP Spark Connector for Azure Cosmos DB SQL API @@ -721,7 +721,7 @@ ${project.basedir} dependency-reduced-pom.xml - ${project.basedir}/../azure-cosmos-spark_3_2-12/stripDependencyReducedPom.xsl + ${project.basedir}/../azure-cosmos-spark_3/stripDependencyReducedPom.xsl ${project.basedir} true false diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister b/sdk/cosmos/azure-cosmos-spark_3/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister rename to sdk/cosmos/azure-cosmos-spark_3/src/main/resources/META-INF/services/org.apache.spark.sql.sources.DataSourceRegister diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/CosmosItemSerializerNoExceptionWrapping.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/CosmosItemSerializerNoExceptionWrapping.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/CosmosItemSerializerNoExceptionWrapping.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/CosmosItemSerializerNoExceptionWrapping.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/SparkBridgeInternal.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/SparkBridgeInternal.scala similarity index 99% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/SparkBridgeInternal.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/SparkBridgeInternal.scala index 8c1e48212b43..01f6528a758c 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/SparkBridgeInternal.scala +++ b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/SparkBridgeInternal.scala @@ -14,6 +14,7 @@ import scala.collection.mutable.ArrayBuffer // scalastyle:off underscore.import import scala.collection.JavaConverters._ + // scalastyle:on underscore.import private[cosmos] object SparkBridgeInternal { diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedItemsCntMetric.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedItemsCntMetric.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedItemsCntMetric.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedItemsCntMetric.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedLsnRangeMetric.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedLsnRangeMetric.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedLsnRangeMetric.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedLsnRangeMetric.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsListener.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsListener.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsListener.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsListener.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsTracker.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsTracker.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsTracker.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsTracker.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedPartitionIndexMetric.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedPartitionIndexMetric.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedPartitionIndexMetric.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedPartitionIndexMetric.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/implementation/ChangeFeedSparkRowItem.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/implementation/ChangeFeedSparkRowItem.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/implementation/ChangeFeedSparkRowItem.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/implementation/ChangeFeedSparkRowItem.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/implementation/SparkBridgeImplementationInternal.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/implementation/SparkBridgeImplementationInternal.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/implementation/SparkBridgeImplementationInternal.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/implementation/SparkBridgeImplementationInternal.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/implementation/SparkRowItem.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/implementation/SparkRowItem.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/implementation/SparkRowItem.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/implementation/SparkRowItem.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/models/CosmosParameterizedQuery.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/models/CosmosParameterizedQuery.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/models/CosmosParameterizedQuery.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/models/CosmosParameterizedQuery.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/models/SparkModelBridgeInternal.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/models/SparkModelBridgeInternal.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/models/SparkModelBridgeInternal.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/models/SparkModelBridgeInternal.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AccountDataResolver.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AccountDataResolver.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AccountDataResolver.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AccountDataResolver.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AnalyzedAggregatedFilters.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AnalyzedAggregatedFilters.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AnalyzedAggregatedFilters.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AnalyzedAggregatedFilters.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AnalyzedQueryFilters.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AnalyzedQueryFilters.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AnalyzedQueryFilters.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AnalyzedQueryFilters.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AnalyzedReadManyFilters.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AnalyzedReadManyFilters.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AnalyzedReadManyFilters.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AnalyzedReadManyFilters.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AsyncItemWriter.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AsyncItemWriter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AsyncItemWriter.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AsyncItemWriter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AzureMonitorConfig.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AzureMonitorConfig.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/AzureMonitorConfig.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/AzureMonitorConfig.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/BulkWriter.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/BulkWriter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/BulkWriter.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/BulkWriter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/BulkWriterNoProgressException.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/BulkWriterNoProgressException.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/BulkWriterNoProgressException.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/BulkWriterNoProgressException.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedBatch.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedBatch.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedBatch.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedBatch.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedInitialOffsetWriter.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedInitialOffsetWriter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedInitialOffsetWriter.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedInitialOffsetWriter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedOffset.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedOffset.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedOffset.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedOffset.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedPartitionReader.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedPartitionReader.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedPartitionReader.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedPartitionReader.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedScan.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedScan.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedScan.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedScan.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedScanBuilder.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedScanBuilder.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedScanBuilder.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedScanBuilder.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedScanPartitionReaderFactory.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedScanPartitionReaderFactory.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedScanPartitionReaderFactory.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedScanPartitionReaderFactory.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedTable.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedTable.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ChangeFeedTable.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ChangeFeedTable.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ContainerFeedRangesCache.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ContainerFeedRangesCache.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ContainerFeedRangesCache.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ContainerFeedRangesCache.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosAccessToken.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosAccessToken.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosAccessToken.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosAccessToken.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosCatalogBase.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosCatalogBase.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosCatalogBase.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosCatalogBase.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosChangeFeedDataSource.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosChangeFeedDataSource.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosChangeFeedDataSource.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosChangeFeedDataSource.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientBuilderInterceptor.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientBuilderInterceptor.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientBuilderInterceptor.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientBuilderInterceptor.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientCache.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientCache.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientCache.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientCache.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientCacheItem.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientCacheItem.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientCacheItem.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientCacheItem.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientConfiguration.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientConfiguration.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientConfiguration.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientConfiguration.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientInterceptor.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientInterceptor.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientInterceptor.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientInterceptor.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientMetadataCachesSnapshots.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientMetadataCachesSnapshots.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientMetadataCachesSnapshots.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientMetadataCachesSnapshots.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientMetrics.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientMetrics.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosClientMetrics.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosClientMetrics.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosConfig.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosConfig.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosConfig.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosConfig.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosConstants.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosConstants.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosConstants.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosConstants.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosInputPartition.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosInputPartition.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosInputPartition.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosInputPartition.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosItemIdentityHelper.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosItemIdentityHelper.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosItemIdentityHelper.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosItemIdentityHelper.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosItemsDataSource.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosItemsDataSource.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosItemsDataSource.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosItemsDataSource.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosMaxCountPerIntervalLogExporter.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosMaxCountPerIntervalLogExporter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosMaxCountPerIntervalLogExporter.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosMaxCountPerIntervalLogExporter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosMaxCountPerIntervalSpanHeadSampler.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosMaxCountPerIntervalSpanHeadSampler.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosMaxCountPerIntervalSpanHeadSampler.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosMaxCountPerIntervalSpanHeadSampler.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosPartitionPlanner.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosPartitionPlanner.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosPartitionPlanner.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosPartitionPlanner.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosPatchHelper.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosPatchHelper.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosPatchHelper.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosPatchHelper.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosPredicates.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosPredicates.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosPredicates.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosPredicates.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosReadManyReader.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosReadManyReader.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosReadManyReader.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosReadManyReader.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosRowConverterBase.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosRowConverterBase.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosRowConverterBase.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosRowConverterBase.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosSamplingDiagnosticsLogger.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosSamplingDiagnosticsLogger.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosSamplingDiagnosticsLogger.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosSamplingDiagnosticsLogger.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrer.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrer.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrer.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrer.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosWriterBase.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosWriterBase.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/CosmosWriterBase.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/CosmosWriterBase.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/Exceptions.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/Exceptions.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/Exceptions.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/Exceptions.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/FeedRangeInputPartition.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/FeedRangeInputPartition.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/FeedRangeInputPartition.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/FeedRangeInputPartition.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/FilterAnalyzer.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/FilterAnalyzer.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/FilterAnalyzer.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/FilterAnalyzer.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsBatchWriter.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsBatchWriter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsBatchWriter.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsBatchWriter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsDataWriteFactory.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsDataWriteFactory.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsDataWriteFactory.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsDataWriteFactory.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsPartitionReader.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsPartitionReader.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsPartitionReader.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsPartitionReader.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsPartitionReaderWithReadMany.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsPartitionReaderWithReadMany.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsPartitionReaderWithReadMany.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsPartitionReaderWithReadMany.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsReadOnlyTable.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsReadOnlyTable.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsReadOnlyTable.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsReadOnlyTable.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsScanBase.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsScanBase.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsScanBase.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsScanBase.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsScanPartitionReaderFactory.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsScanPartitionReaderFactory.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsScanPartitionReaderFactory.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsScanPartitionReaderFactory.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsTable.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsTable.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ItemsTable.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ItemsTable.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/NormalizedRange.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/NormalizedRange.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/NormalizedRange.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/NormalizedRange.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/OutputMetricsPublisherTrait.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/OutputMetricsPublisherTrait.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/OutputMetricsPublisherTrait.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/OutputMetricsPublisherTrait.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PartitionKeyHelper.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PartitionKeyHelper.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PartitionKeyHelper.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PartitionKeyHelper.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PartitionMetadata.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PartitionMetadata.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PartitionMetadata.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PartitionMetadata.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PartitionMetadataCache.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PartitionMetadataCache.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PartitionMetadataCache.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PartitionMetadataCache.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PartitionPlanningInfo.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PartitionPlanningInfo.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PartitionPlanningInfo.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PartitionPlanningInfo.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PointWriter.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PointWriter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/PointWriter.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/PointWriter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/QueryFilterAnalyzer.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/QueryFilterAnalyzer.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/QueryFilterAnalyzer.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/QueryFilterAnalyzer.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ReadManyFilter.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ReadManyFilter.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ReadManyFilter.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ReadManyFilter.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ReadManyFilterAnalyzer.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ReadManyFilterAnalyzer.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ReadManyFilterAnalyzer.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ReadManyFilterAnalyzer.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/RowSerializerPoolInternal.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/RowSerializerPoolInternal.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/RowSerializerPoolInternal.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/RowSerializerPoolInternal.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/SampledDiagnosticsLoggerConfig.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/SampledDiagnosticsLoggerConfig.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/SampledDiagnosticsLoggerConfig.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/SampledDiagnosticsLoggerConfig.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/SparkUtils.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/SparkUtils.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/SparkUtils.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/SparkUtils.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ThroughputControlHelper.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ThroughputControlHelper.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ThroughputControlHelper.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ThroughputControlHelper.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/TransientErrorsRetryPolicy.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/TransientErrorsRetryPolicy.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/TransientErrorsRetryPolicy.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/TransientErrorsRetryPolicy.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIterator.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIterator.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIterator.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIterator.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingReadManyIterator.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingReadManyIterator.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingReadManyIterator.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingReadManyIterator.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/Using.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/Using.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/Using.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/Using.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ViewDefinition.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ViewDefinition.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ViewDefinition.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ViewDefinition.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ViewDefinitionEnvelopSerializer.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ViewDefinitionEnvelopSerializer.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/ViewDefinitionEnvelopSerializer.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/ViewDefinitionEnvelopSerializer.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/WriteOnRetryCommitInterceptor.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/WriteOnRetryCommitInterceptor.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/WriteOnRetryCommitInterceptor.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/WriteOnRetryCommitInterceptor.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogClient.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogClient.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogClient.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogClient.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogConflictException.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogConflictException.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogConflictException.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogConflictException.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogCosmosSDKClient.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogCosmosSDKClient.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogCosmosSDKClient.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogCosmosSDKClient.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogException.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogException.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogException.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogException.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogManagementSDKClient.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogManagementSDKClient.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogManagementSDKClient.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogManagementSDKClient.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogNotFoundException.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogNotFoundException.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogNotFoundException.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosCatalogNotFoundException.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosContainerProperties.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosContainerProperties.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosContainerProperties.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosContainerProperties.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosThroughputProperties.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosThroughputProperties.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/CosmosThroughputProperties.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/CosmosThroughputProperties.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/ManagementExceptions.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/ManagementExceptions.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/catalog/ManagementExceptions.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/catalog/ManagementExceptions.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/BasicLoggingTrait.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/BasicLoggingTrait.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/BasicLoggingTrait.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/BasicLoggingTrait.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/CosmosItemIdentifier.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/CosmosItemIdentifier.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/CosmosItemIdentifier.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/CosmosItemIdentifier.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/DefaultMinimalSlf4jLogger.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/DefaultMinimalSlf4jLogger.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/DefaultMinimalSlf4jLogger.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/DefaultMinimalSlf4jLogger.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsContext.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsContext.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsContext.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsContext.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsLoader.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsLoader.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsLoader.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsLoader.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsProvider.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsProvider.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsProvider.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/DiagnosticsProvider.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/FeedDiagnosticsSlf4jLogger.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/FeedDiagnosticsSlf4jLogger.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/FeedDiagnosticsSlf4jLogger.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/FeedDiagnosticsSlf4jLogger.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/ILogger.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/ILogger.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/ILogger.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/ILogger.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/LoggerHelper.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/LoggerHelper.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/LoggerHelper.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/LoggerHelper.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/SimpleDiagnosticsSlf4jLogger.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/SimpleDiagnosticsSlf4jLogger.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/SimpleDiagnosticsSlf4jLogger.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/SimpleDiagnosticsSlf4jLogger.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/SparkTaskContext.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/SparkTaskContext.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/diagnostics/SparkTaskContext.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/diagnostics/SparkTaskContext.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/CosmosAsyncClientCache.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/CosmosAsyncClientCache.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/CosmosAsyncClientCache.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/CosmosAsyncClientCache.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/CosmosAsyncClientCacheItem.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/CosmosAsyncClientCacheItem.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/CosmosAsyncClientCacheItem.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/CosmosAsyncClientCacheItem.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/CreateChangeFeedOffsetFromSpark2.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/CreateChangeFeedOffsetFromSpark2.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/CreateChangeFeedOffsetFromSpark2.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/CreateChangeFeedOffsetFromSpark2.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/CreateSpark2ContinuationsFromChangeFeedOffset.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/CreateSpark2ContinuationsFromChangeFeedOffset.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/CreateSpark2ContinuationsFromChangeFeedOffset.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/CreateSpark2ContinuationsFromChangeFeedOffset.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetCosmosItemIdentityValue.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetCosmosItemIdentityValue.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetCosmosItemIdentityValue.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetCosmosItemIdentityValue.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangeForHierarchicalPartitionKeyValues.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangeForHierarchicalPartitionKeyValues.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangeForHierarchicalPartitionKeyValues.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangeForHierarchicalPartitionKeyValues.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangeForPartitionKeyValue.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangeForPartitionKeyValue.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangeForPartitionKeyValue.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangeForPartitionKeyValue.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangesForContainer.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangesForContainer.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangesForContainer.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetFeedRangesForContainer.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetOverlappingFeedRange.scala b/sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetOverlappingFeedRange.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/main/scala/com/azure/cosmos/spark/udf/GetOverlappingFeedRange.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/main/scala/com/azure/cosmos/spark/udf/GetOverlappingFeedRange.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsListenerSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsListenerSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsListenerSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/changeFeedMetrics/ChangeFeedMetricsListenerSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/BulkWriterITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/BulkWriterITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/BulkWriterITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/BulkWriterITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ChangeFeedMetricsListenerSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ChangeFeedMetricsListenerSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ChangeFeedMetricsListenerSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ChangeFeedMetricsListenerSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ChangeFeedMetricsTrackerSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ChangeFeedMetricsTrackerSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ChangeFeedMetricsTrackerSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ChangeFeedMetricsTrackerSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ChangeFeedOffsetSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ChangeFeedOffsetSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ChangeFeedOffsetSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ChangeFeedOffsetSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ChangeFeedPartitionReaderITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ChangeFeedPartitionReaderITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ChangeFeedPartitionReaderITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ChangeFeedPartitionReaderITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosCatalogITestBase.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosCatalogITestBase.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosCatalogITestBase.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosCatalogITestBase.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosClientCacheITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosClientCacheITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosClientCacheITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosClientCacheITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosClientConfigurationSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosClientConfigurationSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosClientConfigurationSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosClientConfigurationSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosConfigSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosConfigSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosConfigSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosConfigSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosConstantsSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosConstantsSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosConstantsSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosConstantsSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosItemIdentityHelperSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosItemIdentityHelperSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosItemIdentityHelperSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosItemIdentityHelperSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosPartitionPlannerITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosPartitionPlannerITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosPartitionPlannerITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosPartitionPlannerITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosPartitionPlannerSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosPartitionPlannerSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosPartitionPlannerSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosPartitionPlannerSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosPatchHelperSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosPatchHelperSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosPatchHelperSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosPatchHelperSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosRowConverterSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrerITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrerITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrerITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrerITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrerSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrerSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrerSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/CosmosTableSchemaInferrerSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/FeedRangesForContainerITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/FeedRangesForContainerITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/FeedRangesForContainerITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/FeedRangesForContainerITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/FilterAnalyzerSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/FilterAnalyzerSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/FilterAnalyzerSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/FilterAnalyzerSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/IntegrationSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/IntegrationSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/IntegrationSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/IntegrationSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ItemsPartitionReaderWithReadManyITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ItemsPartitionReaderWithReadManyITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ItemsPartitionReaderWithReadManyITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ItemsPartitionReaderWithReadManyITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PartitionMetadataCacheITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PartitionMetadataCacheITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PartitionMetadataCacheITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PartitionMetadataCacheITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PartitionMetadataSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PartitionMetadataSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PartitionMetadataSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PartitionMetadataSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PartitionPlanningInfoSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PartitionPlanningInfoSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PartitionPlanningInfoSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PartitionPlanningInfoSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PointWriterITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PointWriterITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PointWriterITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PointWriterITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PointWriterSubpartitionITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PointWriterSubpartitionITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/PointWriterSubpartitionITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/PointWriterSubpartitionITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ReadManyFilterAnalyzerSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ReadManyFilterAnalyzerSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/ReadManyFilterAnalyzerSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/ReadManyFilterAnalyzerSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/RowSerializerPollSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/RowSerializerPollSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/RowSerializerPollSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/RowSerializerPollSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SampleCosmosCatalogE2EMain.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SampleCosmosCatalogE2EMain.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SampleCosmosCatalogE2EMain.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SampleCosmosCatalogE2EMain.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SampleE2EMain.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SampleE2EMain.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SampleE2EMain.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SampleE2EMain.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SampleReadE2EMain.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SampleReadE2EMain.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SampleReadE2EMain.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SampleReadE2EMain.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SampleStructuredStreamingE2EMain.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SampleStructuredStreamingE2EMain.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SampleStructuredStreamingE2EMain.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SampleStructuredStreamingE2EMain.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SimpleFileDiagnosticsProvider.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SimpleFileDiagnosticsProvider.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SimpleFileDiagnosticsProvider.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SimpleFileDiagnosticsProvider.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SimpleFileDiagnosticsSlf4jLogger.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SimpleFileDiagnosticsSlf4jLogger.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SimpleFileDiagnosticsSlf4jLogger.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SimpleFileDiagnosticsSlf4jLogger.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkBridgeImplementationInternalSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkBridgeImplementationInternalSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkBridgeImplementationInternalSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkBridgeImplementationInternalSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EBulkWriteITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EBulkWriteITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EBulkWriteITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EBulkWriteITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedSplitITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedSplitITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedSplitITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedSplitITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedSubpartitionITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedSubpartitionITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedSubpartitionITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EChangeFeedSubpartitionITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EConfigResolutionITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EConfigResolutionITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EConfigResolutionITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EConfigResolutionITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EFaultInjectionITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EFaultInjectionITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EFaultInjectionITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EFaultInjectionITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayChangeFeedITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayChangeFeedITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayChangeFeedITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayChangeFeedITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayQueryITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayQueryITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayQueryITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayQueryITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayWriteITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayWriteITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayWriteITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EGatewayWriteITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EQueryITestBase.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EQueryITestBase.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EQueryITestBase.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EQueryITestBase.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EStructuredStreamingITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EStructuredStreamingITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EStructuredStreamingITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EStructuredStreamingITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EThroughputControlITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EThroughputControlITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EThroughputControlITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EThroughputControlITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EWriteITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EWriteITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/SparkE2EWriteITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/SparkE2EWriteITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestCosmosClientBuilderInterceptor.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestCosmosClientBuilderInterceptor.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestCosmosClientBuilderInterceptor.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestCosmosClientBuilderInterceptor.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestFaultInjectionClientInterceptor.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestFaultInjectionClientInterceptor.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestFaultInjectionClientInterceptor.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestFaultInjectionClientInterceptor.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestScalaDoc.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestScalaDoc.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestScalaDoc.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestScalaDoc.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestUtils.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestUtils.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestUtils.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestUtils.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestWriteOnRetryCommitInterceptor.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestWriteOnRetryCommitInterceptor.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TestWriteOnRetryCommitInterceptor.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TestWriteOnRetryCommitInterceptor.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TransientErrorsRetryPolicySpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TransientErrorsRetryPolicySpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TransientErrorsRetryPolicySpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TransientErrorsRetryPolicySpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIteratorITest.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIteratorITest.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIteratorITest.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIteratorITest.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIteratorSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIteratorSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIteratorSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/TransientIOErrorsRetryingIteratorSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/UnitSpec.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/UnitSpec.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/UnitSpec.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/UnitSpec.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/utils/CosmosPatchTestHelper.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/utils/CosmosPatchTestHelper.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/utils/CosmosPatchTestHelper.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/utils/CosmosPatchTestHelper.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/utils/TestOutputMetricsPublisher.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/utils/TestOutputMetricsPublisher.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/com/azure/cosmos/spark/utils/TestOutputMetricsPublisher.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/com/azure/cosmos/spark/utils/TestOutputMetricsPublisher.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/org/apache/spark/MockTaskContext.scala b/sdk/cosmos/azure-cosmos-spark_3/src/test/scala/org/apache/spark/MockTaskContext.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/src/test/scala/org/apache/spark/MockTaskContext.scala rename to sdk/cosmos/azure-cosmos-spark_3/src/test/scala/org/apache/spark/MockTaskContext.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/stripDependencyReducedPom.xsl b/sdk/cosmos/azure-cosmos-spark_3/stripDependencyReducedPom.xsl similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/stripDependencyReducedPom.xsl rename to sdk/cosmos/azure-cosmos-spark_3/stripDependencyReducedPom.xsl diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-cluster-restart.sh b/sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-cluster-restart.sh similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-cluster-restart.sh rename to sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-cluster-restart.sh diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-jar-install.sh b/sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-jar-install.sh similarity index 93% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-jar-install.sh rename to sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-jar-install.sh index a548ce2c0f72..d361a49014ef 100644 --- a/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-jar-install.sh +++ b/sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-jar-install.sh @@ -68,7 +68,7 @@ else databricks libraries uninstall --json "{\"cluster_id\": \"$CLUSTER_ID\", \"libraries\": [{\"jar\": \"$library\"}]}" done - bash sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-cluster-restart.sh $CLUSTER_ID + bash sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-cluster-restart.sh $CLUSTER_ID # For older runtimes: Use DBFS path echo "Using DBFS library installation for DBR $DBR_VERSION" @@ -82,4 +82,4 @@ else databricks libraries install --json "{\"cluster_id\": \"$CLUSTER_ID\", \"libraries\": [{\"jar\": \"dbfs:/tmp/libraries/$JARFILE\"}]}" fi -bash sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-cluster-restart.sh $CLUSTER_ID +bash sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-cluster-restart.sh $CLUSTER_ID diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-notebooks-install.sh b/sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-notebooks-install.sh similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-notebooks-install.sh rename to sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-notebooks-install.sh diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/init-scripts/install-azure-cosmos-spark-init-script.sh b/sdk/cosmos/azure-cosmos-spark_3/test-databricks/init-scripts/install-azure-cosmos-spark-init-script.sh similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/init-scripts/install-azure-cosmos-spark-init-script.sh rename to sdk/cosmos/azure-cosmos-spark_3/test-databricks/init-scripts/install-azure-cosmos-spark-init-script.sh diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/notebooks/basicScenario.scala b/sdk/cosmos/azure-cosmos-spark_3/test-databricks/notebooks/basicScenario.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/notebooks/basicScenario.scala rename to sdk/cosmos/azure-cosmos-spark_3/test-databricks/notebooks/basicScenario.scala diff --git a/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/notebooks/basicScenarioAadManagedIdentity.scala b/sdk/cosmos/azure-cosmos-spark_3/test-databricks/notebooks/basicScenarioAadManagedIdentity.scala similarity index 100% rename from sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/notebooks/basicScenarioAadManagedIdentity.scala rename to sdk/cosmos/azure-cosmos-spark_3/test-databricks/notebooks/basicScenarioAadManagedIdentity.scala diff --git a/sdk/cosmos/ci.yml b/sdk/cosmos/ci.yml index 6665d1eba9f2..2f094d0ec3b9 100644 --- a/sdk/cosmos/ci.yml +++ b/sdk/cosmos/ci.yml @@ -13,9 +13,10 @@ trigger: - sdk/cosmos/azure-cosmos-benchmark/ - sdk/cosmos/azure-cosmos-encryption/ - sdk/cosmos/azure-cosmos-examples/ - - sdk/cosmos/azure-cosmos-spark_3_2-12/ + - sdk/cosmos/azure-cosmos-spark_3/ - sdk/cosmos/azure-cosmos-spark_3-3_2-12/ - sdk/cosmos/azure-cosmos-spark_3-4_2-12/ + - sdk/cosmos/azure-cosmos-spark_3-5/ - sdk/cosmos/azure-cosmos-spark_3-5_2-12/ - sdk/cosmos/fabric-cosmos-spark-auth_3/ - sdk/cosmos/azure-cosmos-test/ @@ -28,10 +29,11 @@ trigger: - sdk/cosmos/azure-cosmos-tests/pom.xml - sdk/cosmos/azure-cosmos-benchmark/pom.xml - sdk/cosmos/azure-cosmos-encryption/pom.xml - - sdk/cosmos/azure-cosmos-spark_3_2-12/pom.xml + - sdk/cosmos/azure-cosmos-spark_3/pom.xml - sdk/cosmos/azure-cosmos-spark_3-3_2-12/pom.xml - sdk/cosmos/azure-cosmos-spark_3-4_2-12/pom.xml - sdk/cosmos/azure-cosmos-spark_3-5_2-12/pom.xml + - sdk/cosmos/azure-cosmos-spark_3-5/pom.xml - sdk/cosmos/fabric-cosmos-spark-auth_3/pom.xml - sdk/cosmos/azure-cosmos-kafka-connect/pom.xml @@ -52,9 +54,10 @@ pr: - sdk/cosmos/azure-cosmos-examples/ - sdk/cosmos/azure-cosmos-test/ - sdk/cosmos/azure-cosmos-tests/ - - sdk/cosmos/azure-cosmos-spark_3_2-12/ + - sdk/cosmos/azure-cosmos-spark_3/ - sdk/cosmos/azure-cosmos-spark_3-3_2-12/ - sdk/cosmos/azure-cosmos-spark_3-4_2-12/ + - sdk/cosmos/azure-cosmos-spark_3-5/ - sdk/cosmos/azure-cosmos-spark_3-5_2-12/ - sdk/cosmos/fabric-cosmos-spark-auth_3/ - sdk/cosmos/faq/ @@ -64,9 +67,10 @@ pr: - sdk/cosmos/azure-cosmos/pom.xml - sdk/cosmos/azure-cosmos-benchmark/pom.xml - sdk/cosmos/azure-cosmos-encryption/pom.xml - - sdk/cosmos/azure-cosmos-spark_3_2-12/pom.xml + - sdk/cosmos/azure-cosmos-spark_3/pom.xml - sdk/cosmos/azure-cosmos-spark_3-3_2-12/pom.xml - sdk/cosmos/azure-cosmos-spark_3-4_2-12/pom.xml + - sdk/cosmos/azure-cosmos-spark_3-5/pom.xml - sdk/cosmos/azure-cosmos-spark_3-5_2-12/pom.xml - sdk/cosmos/fabric-cosmos-spark-auth_3/pom.xml - sdk/cosmos/azure-cosmos-test/pom.xml @@ -164,5 +168,7 @@ extends: groupId: com.azure - name: azure-cosmos-benchmark groupId: com.azure - - name: azure-cosmos-spark_3_2-12 + - name: azure-cosmos-spark_3 + groupId: com.azure.cosmos.spark + - name: azure-cosmos-spark_3-5 groupId: com.azure.cosmos.spark diff --git a/sdk/cosmos/fabric-cosmos-spark-auth_3/README.md b/sdk/cosmos/fabric-cosmos-spark-auth_3/README.md index c6149f65afc0..62abb72f4691 100644 --- a/sdk/cosmos/fabric-cosmos-spark-auth_3/README.md +++ b/sdk/cosmos/fabric-cosmos-spark-auth_3/README.md @@ -4,7 +4,7 @@ This project provides an implementation of the `AccountDataResolver` interface f It allows signed-in user to authenticate with Microsoft Entra ID within the Azure Fabric environment. To use this implementation, you have to upload the jar file for this project to your fabric environment. It is also necessary to grant the signed-in user's identity with the correct permissions to perform data plane operations. Follow the instructions [here](https://learn.microsoft.com/azure/cosmos-db/nosql/how-to-grant-data-plane-access?tabs=built-in-definition%2Ccsharp&pivots=azure-interface-cli) to grant the relevant permissions. To learn more about Microsoft Entra ID (AAD) authentication using the Azure Cosmos DB Spark Connector, see the -[AAD Auth Documentation](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/AAD-Auth.md). Fabric Native accounts only support gateway mode, so the `spark.cosmos.useGatewayMode` must be set to `true` in the Spark configuration for these accounts. +[AAD Auth Documentation](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos/azure-cosmos-spark_3/docs/AAD-Auth.md). Fabric Native accounts only support gateway mode, so the `spark.cosmos.useGatewayMode` must be set to `true` in the Spark configuration for these accounts. ### Configuration options @@ -15,5 +15,5 @@ To learn more about Microsoft Entra ID (AAD) authentication using the Azure Cosm ### Current Limitations -* There is no support for the [catalog api](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos/azure-cosmos-spark_3_2-12/docs/catalog-api.md) operations using this implementation of the `AccountDataResolver` with a CosmosDB Fabric Native Account. +* There is no support for the [catalog api](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos/azure-cosmos-spark_3/docs/catalog-api.md) operations using this implementation of the `AccountDataResolver` with a CosmosDB Fabric Native Account. * Only Spark 3.5 is supported with this implementation of the `AccountDataResolver`. \ No newline at end of file diff --git a/sdk/cosmos/fabric-cosmos-spark-auth_3/pom.xml b/sdk/cosmos/fabric-cosmos-spark-auth_3/pom.xml index 16c3d363b762..2941fa16041d 100644 --- a/sdk/cosmos/fabric-cosmos-spark-auth_3/pom.xml +++ b/sdk/cosmos/fabric-cosmos-spark-auth_3/pom.xml @@ -480,7 +480,7 @@ ${project.basedir} dependency-reduced-pom.xml - ${project.basedir}/../azure-cosmos-spark_3_2-12/stripDependencyReducedPom.xsl + ${project.basedir}/../azure-cosmos-spark_3/stripDependencyReducedPom.xsl ${project.basedir} true false diff --git a/sdk/cosmos/pom.xml b/sdk/cosmos/pom.xml index 7127328ce61d..c486b2fe9849 100644 --- a/sdk/cosmos/pom.xml +++ b/sdk/cosmos/pom.xml @@ -13,9 +13,10 @@ azure-cosmos azure-cosmos-benchmark azure-cosmos-encryption - azure-cosmos-spark_3_2-12 + azure-cosmos-spark_3 azure-cosmos-spark_3-3_2-12 azure-cosmos-spark_3-4_2-12 + azure-cosmos-spark_3-5 azure-cosmos-spark_3-5_2-12 azure-cosmos-test azure-cosmos-tests diff --git a/sdk/cosmos/spark.databricks.yml b/sdk/cosmos/spark.databricks.yml index 81c18ec7aa20..50b10d49190f 100644 --- a/sdk/cosmos/spark.databricks.yml +++ b/sdk/cosmos/spark.databricks.yml @@ -90,13 +90,13 @@ stages: - task: Bash@3 displayName: Importing Jars inputs: - filePath: $(build.sourcesdirectory)/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-jar-install.sh + filePath: $(build.sourcesdirectory)/sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-jar-install.sh arguments: '${{ parameters.ClusterName }} ${{ parameters.AvoidDBFS }} $(build.sourcesdirectory)/sdk/cosmos/${{ parameters.SparkVersion }}/target ${{ parameters.JarStorageAccountKey }}' - task: Bash@3 displayName: Importing and executing notebooks inputs: - filePath: $(build.sourcesdirectory)/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/databricks-notebooks-install.sh - arguments: ${{ parameters.ClusterName }} $(build.sourcesdirectory)/sdk/cosmos/azure-cosmos-spark_3_2-12/test-databricks/notebooks ${{ parameters.CosmosEndpointMsi }} ${{ parameters.CosmosEndpoint }} ${{ parameters.CosmosKey }} ${{ parameters.SubscriptionId }} ${{ parameters.TenantId }} ${{ parameters.ResourceGroupName }} ${{ parameters.ClientId }} ${{ parameters.ClientSecret }} ${{ parameters.CosmosContainerName }} ${{ parameters.CosmosDatabaseName }} + filePath: $(build.sourcesdirectory)/sdk/cosmos/azure-cosmos-spark_3/test-databricks/databricks-notebooks-install.sh + arguments: ${{ parameters.ClusterName }} $(build.sourcesdirectory)/sdk/cosmos/azure-cosmos-spark_3/test-databricks/notebooks ${{ parameters.CosmosEndpointMsi }} ${{ parameters.CosmosEndpoint }} ${{ parameters.CosmosKey }} ${{ parameters.SubscriptionId }} ${{ parameters.TenantId }} ${{ parameters.ResourceGroupName }} ${{ parameters.ClientId }} ${{ parameters.ClientSecret }} ${{ parameters.CosmosContainerName }} ${{ parameters.CosmosDatabaseName }} - task: Bash@3 displayName: 'Validating Checksum' inputs: