terraform-modules/sql-scripts/tf-sql-scripts.tf (1,733 lines of code) (raw):

#################################################################################### # Copyright 2023 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #################################################################################### #################################################################################### # Create the GCP resources # # Author: Adam Paternostro #################################################################################### terraform { required_providers { google = { source = "hashicorp/google-beta" version = "5.35.0" } } } #################################################################################### # Variables #################################################################################### variable "gcp_account_name" {} variable "project_id" {} variable "storage_bucket" {} variable "random_extension" {} variable "project_number" {} variable "deployment_service_account_name" {} variable "spanner_region" {} variable "cloud_function_region" {} variable "bigquery_region" {} variable "shared_demo_project_id" {} variable "aws_omni_biglake_dataset_name" {} variable "aws_omni_biglake_dataset_region" {} variable "aws_omni_biglake_connection" {} variable "aws_omni_biglake_s3_bucket" {} variable "azure_omni_biglake_dataset_name" {} variable "azure_omni_biglake_connection" {} variable "azure_omni_biglake_adls_name" {} variable "azure_omni_biglake_dataset_region" {} variable "bigquery_rideshare_lakehouse_raw_dataset" {} variable "gcs_rideshare_lakehouse_raw_bucket" {} variable "bigquery_rideshare_lakehouse_enriched_dataset" {} variable "gcs_rideshare_lakehouse_enriched_bucket" {} variable "bigquery_rideshare_lakehouse_curated_dataset" {} variable "gcs_rideshare_lakehouse_curated_bucket" {} variable "bigquery_rideshare_llm_raw_dataset" {} variable "bigquery_rideshare_llm_enriched_dataset" {} variable "bigquery_rideshare_llm_curated_dataset" {} variable "bigquery_cleanroom_dataset" {} # Hardcoded variable "bigquery_taxi_dataset" { type = string default = "taxi_dataset" } variable "bigquery_thelook_ecommerce_dataset" { type = string default = "thelook_ecommerce" } #=================================================================================== #=================================================================================== # taxi_dataset Dataset #=================================================================================== #=================================================================================== #################################################################################### # sp_create_demo_dataform #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_demo_dataform" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_create_demo_dataform" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_create_demo_dataform.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_create_datastream_cdc_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_datastream_cdc_data" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_create_datastream_cdc_data" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_create_datastream_cdc_data.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset raw_bucket_name = "raw-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_create_taxi_biglake_tables #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_taxi_biglake_tables" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_create_taxi_biglake_tables" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_create_taxi_biglake_tables.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset raw_bucket_name = "raw-${var.storage_bucket}" processed_bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_create_taxi_external_tables #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_taxi_external_tables" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_create_taxi_external_tables" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_create_taxi_external_tables.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_create_taxi_internal_tables #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_taxi_internal_tables" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_create_taxi_internal_tables" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_create_taxi_internal_tables.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_biglake_iceberg #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_biglake_iceberg" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_biglake_iceberg" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_biglake_iceberg.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset processed_bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_biglake_managed_tables #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_biglake_managed_tables" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_biglake_managed_tables" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_biglake_managed_tables.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset biglake_managed_tables_bucket_name = "mt-${var.storage_bucket}" raw_bucket_name = "raw-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_biglake_metastore_security #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_biglake_metastore_security" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_biglake_metastore_security" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_biglake_metastore_security.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset random_extension = var.random_extension bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_biglake_unstructured_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_biglake_unstructured_data" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_biglake_unstructured_data" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_biglake_unstructured_data.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset raw_bucket_name = "raw-${var.storage_bucket}" code_bucket_name = "code-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name cloud_function_region = var.cloud_function_region }) } #################################################################################### # sp_demo_biglake_query_acceleration #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_biglake_query_acceleration" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_biglake_query_acceleration" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_biglake_query_acceleration.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name random_extension = var.random_extension five_million_small_files_bucket = "sample-shared-data-query-acceleration" shared_demo_project_id = var.shared_demo_project_id }) } #################################################################################### # sp_demo_biglake #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_biglake" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_biglake" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_biglake.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name random_extension = var.random_extension # special case for embedded bash commands bqOutputJsonFile = "$${bqOutputJsonFile}" bqOutputJson = "$${bqOutputJson}" biglake_service_account = "$${biglake_service_account}" }) } #################################################################################### # sp_demo_bigquery_queries #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_bigquery_queries" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_bigquery_queries" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_bigquery_queries.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_bigsearch #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_bigsearch" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_bigsearch" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_bigsearch.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name shared_demo_project_id = var.shared_demo_project_id }) } #################################################################################### # sp_demo_data_quality_columns #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_data_quality_columns" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_data_quality_columns" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_data_quality_columns.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name shared_demo_project_id = var.shared_demo_project_id }) } #################################################################################### # sp_demo_data_quality_table #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_data_quality_table" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_data_quality_table" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_data_quality_table.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name shared_demo_project_id = var.shared_demo_project_id }) } #################################################################################### # sp_demo_data_transfer_service #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_data_transfer_service" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_data_transfer_service" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_data_transfer_service.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_datastream_private_ip #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_datastream_private_ip" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_datastream_private_ip" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_datastream_private_ip.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name random_extension = var.random_extension }) } #################################################################################### # sp_demo_datastream_public_ip #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_datastream_public_ip" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_datastream_public_ip" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_datastream_public_ip.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name random_extension = var.random_extension }) } #################################################################################### # sp_demo_datastudio_report #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_datastudio_report" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_datastudio_report" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_datastudio_report.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_delta_lake_using_manifests #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_delta_lake_using_manifests" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_delta_lake_using_manifests" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_delta_lake_using_manifests.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_delta_lake_using_workaround #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_delta_lake_using_workaround" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_delta_lake_using_workaround" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_delta_lake_using_workaround.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_export_weather_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_export_weather_data" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_export_weather_data" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_export_weather_data.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_external_function #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_external_function" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_external_function" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_external_function.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name cloud_function_region = var.cloud_function_region }) } #################################################################################### # sp_demo_federated_query #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_federated_query" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_federated_query" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_federated_query.sql", { project_id = var.project_id spanner_region = var.spanner_region bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_ingest_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_ingest_data" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_ingest_data" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_ingest_data.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset raw_bucket_name = "raw-${var.storage_bucket}" processed_bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_internal_external_table_join #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_internal_external_table_join" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_internal_external_table_join" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_internal_external_table_join.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_json_datatype #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_json_datatype" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_json_datatype" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_json_datatype.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset processed_bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_machine_learning_anomaly_fee_amount #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_machine_learning_anomaly_fee_amount" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_machine_learning_anomaly_fee_amount" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_machine_learning_anomaly_fee_amount.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_machine_learning_import_tensorflow #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_machine_learning_import_tensorflow" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_machine_learning_import_tensorflow" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_machine_learning_import_tensorflow.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_machine_learning_tip_amounts #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_machine_learning_tip_amounts" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_machine_learning_tip_amounts" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_machine_learning_tip_amounts.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_materialized_views_joins #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_materialized_views_joins" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_materialized_views_joins" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_materialized_views_joins.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_pricing #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_pricing" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_pricing" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_pricing.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_pricing_ondemand_usage #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_pricing_ondemand_usage" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_pricing_ondemand_usage" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_pricing_ondemand_usage.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset raw_bucket_name = "raw-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_security_col_encryption_shredding #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_security_col_encryption_shredding" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_security_col_encryption_shredding" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_security_col_encryption_shredding.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_security #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_security" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_security" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_security.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_taxi_streaming_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_taxi_streaming_data" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_taxi_streaming_data" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_taxi_streaming_data.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_technical_overview #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_technical_overview" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_technical_overview" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_technical_overview.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset processed_bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket random_extension = var.random_extension shared_demo_project_id = var.shared_demo_project_id gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection spanner_region = var.spanner_region gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket }) } #################################################################################### # sp_demo_time_travel_snapshots #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_time_travel_snapshots" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_time_travel_snapshots" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_time_travel_snapshots.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_transactions #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_transactions" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_transactions" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_transactions.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # sp_demo_vertex_ai_generate_text #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_vertex_ai_generate_text" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_vertex_ai_generate_text" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_vertex_ai_generate_text.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #=================================================================================== #=================================================================================== # thelook_ecommerce Dataset #=================================================================================== #=================================================================================== #################################################################################### # churn_demo_step_0_create_artifacts #################################################################################### resource "google_bigquery_routine" "sproc_churn_demo_step_0_create_artifacts" { project = var.project_id dataset_id = var.bigquery_thelook_ecommerce_dataset routine_id = "churn_demo_step_0_create_artifacts" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/thelook_ecommerce/churn_demo_step_0_create_artifacts.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # churn_demo_step_1_train_classifier #################################################################################### resource "google_bigquery_routine" "sproc_churn_demo_step_1_train_classifier" { project = var.project_id dataset_id = var.bigquery_thelook_ecommerce_dataset routine_id = "churn_demo_step_1_train_classifier" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/thelook_ecommerce/churn_demo_step_1_train_classifier.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name project_number = var.project_number }) } #################################################################################### # churn_demo_step_2_evaluate #################################################################################### resource "google_bigquery_routine" "sproc_churn_demo_step_2_evaluate" { project = var.project_id dataset_id = var.bigquery_thelook_ecommerce_dataset routine_id = "churn_demo_step_2_evaluate" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/thelook_ecommerce/churn_demo_step_2_evaluate.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # churn_demo_step_3_predict #################################################################################### resource "google_bigquery_routine" "sproc_churn_demo_step_3_predict" { project = var.project_id dataset_id = var.bigquery_thelook_ecommerce_dataset routine_id = "churn_demo_step_3_predict" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/thelook_ecommerce/churn_demo_step_3_predict.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # demo_queries #################################################################################### resource "google_bigquery_routine" "sproc_demo_queries" { project = var.project_id dataset_id = var.bigquery_thelook_ecommerce_dataset routine_id = "demo_queries" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/thelook_ecommerce/demo_queries.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name shared_demo_project_id = var.shared_demo_project_id aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #################################################################################### # create_product_deliveries #################################################################################### resource "google_bigquery_routine" "sproc_create_product_deliveries" { project = var.project_id dataset_id = var.bigquery_thelook_ecommerce_dataset routine_id = "create_product_deliveries" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/thelook_ecommerce/create_product_deliveries.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # create_thelook_tables #################################################################################### resource "google_bigquery_routine" "sproc_create_thelook_tables" { project = var.project_id dataset_id = var.bigquery_thelook_ecommerce_dataset routine_id = "create_thelook_tables" routine_type = "PROCEDURE" language = "SQL" arguments { name = "bigquery_region" data_type = "{\"typeKind\" : \"STRING\"}" } definition_body = templatefile("../sql-scripts/thelook_ecommerce/create_thelook_tables.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #################################################################################### # create_product_deliveries_streaming #################################################################################### resource "google_bigquery_routine" "sproc_create_product_deliveries_streaming" { project = var.project_id dataset_id = var.bigquery_thelook_ecommerce_dataset routine_id = "create_product_deliveries_streaming" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/thelook_ecommerce/create_product_deliveries_streaming.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_thelook_ecommerce_dataset = var.bigquery_thelook_ecommerce_dataset bucket_name = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name }) } #=================================================================================== #=================================================================================== # AWS Dataset #=================================================================================== #=================================================================================== #################################################################################### # sp_demo_aws_omni_create_tables #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_aws_omni_create_tables" { project = var.project_id dataset_id = var.aws_omni_biglake_dataset_name routine_id = "sp_demo_aws_omni_create_tables" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/aws_omni_biglake/sp_demo_aws_omni_create_tables.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #################################################################################### # sp_demo_aws_omni_delta_lake_native #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_aws_omni_delta_lake_native" { project = var.project_id dataset_id = var.aws_omni_biglake_dataset_name routine_id = "sp_demo_aws_omni_delta_lake_native" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/aws_omni_biglake/sp_demo_aws_omni_delta_lake_native.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #################################################################################### # sp_demo_aws_omni_delta_lake_workaround #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_aws_omni_delta_lake_workaround" { project = var.project_id dataset_id = var.aws_omni_biglake_dataset_name routine_id = "sp_demo_aws_omni_delta_lake_workaround" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/aws_omni_biglake/sp_demo_aws_omni_delta_lake_workaround.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #################################################################################### # sp_demo_aws_omni_queries_cross_cloud #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_aws_omni_queries_cross_cloud" { project = var.project_id dataset_id = var.aws_omni_biglake_dataset_name routine_id = "sp_demo_aws_omni_queries_cross_cloud" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/aws_omni_biglake/sp_demo_aws_omni_queries_cross_cloud.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket bigquery_taxi_dataset = var.bigquery_taxi_dataset # Azure for cross cloud azure_omni_biglake_dataset_name = var.azure_omni_biglake_dataset_name azure_omni_biglake_adls_name = var.azure_omni_biglake_adls_name azure_omni_biglake_connection = var.azure_omni_biglake_connection }) } #################################################################################### # sp_demo_aws_omni_queries #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_aws_omni_queries" { project = var.project_id dataset_id = var.aws_omni_biglake_dataset_name routine_id = "sp_demo_aws_omni_queries" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/aws_omni_biglake/sp_demo_aws_omni_queries.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset shared_demo_project_id = var.shared_demo_project_id aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #################################################################################### # sp_demo_aws_omni_security_cls #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_aws_omni_security_cls" { project = var.project_id dataset_id = var.aws_omni_biglake_dataset_name routine_id = "sp_demo_aws_omni_security_cls" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/aws_omni_biglake/sp_demo_aws_omni_security_cls.sql", { project_id = var.project_id random_extension = var.random_extension shared_demo_project_id = var.shared_demo_project_id gcp_account_name = var.gcp_account_name aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #################################################################################### # sp_demo_aws_omni_security_rls #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_aws_omni_security_rls" { project = var.project_id dataset_id = var.aws_omni_biglake_dataset_name routine_id = "sp_demo_aws_omni_security_rls" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/aws_omni_biglake/sp_demo_aws_omni_security_rls.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id gcp_account_name = var.gcp_account_name aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #=================================================================================== #=================================================================================== # Azure Dataset #=================================================================================== #=================================================================================== #################################################################################### # sp_demo_azure_omni_create_tables #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_azure_omni_create_tables" { project = var.project_id dataset_id = var.azure_omni_biglake_dataset_name routine_id = "sp_demo_azure_omni_create_tables" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/azure_omni_biglake/sp_demo_azure_omni_create_tables.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id azure_omni_biglake_dataset_name = var.azure_omni_biglake_dataset_name azure_omni_biglake_adls_name = var.azure_omni_biglake_adls_name azure_omni_biglake_connection = var.azure_omni_biglake_connection }) } #################################################################################### # sp_demo_azure_omni_delta_lake_native #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_azure_omni_delta_lake_native" { project = var.project_id dataset_id = var.azure_omni_biglake_dataset_name routine_id = "sp_demo_azure_omni_delta_lake_native" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/azure_omni_biglake/sp_demo_azure_omni_delta_lake_native.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id azure_omni_biglake_dataset_name = var.azure_omni_biglake_dataset_name azure_omni_biglake_adls_name = var.azure_omni_biglake_adls_name azure_omni_biglake_connection = var.azure_omni_biglake_connection azure_omni_biglake_dataset_region = var.azure_omni_biglake_dataset_region }) } #################################################################################### # sp_demo_azure_omni_delta_lake_workaround #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_azure_omni_delta_lake_workaround" { project = var.project_id dataset_id = var.azure_omni_biglake_dataset_name routine_id = "sp_demo_azure_omni_delta_lake_workaround" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/azure_omni_biglake/sp_demo_azure_omni_delta_lake_workaround.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id azure_omni_biglake_dataset_name = var.azure_omni_biglake_dataset_name azure_omni_biglake_adls_name = var.azure_omni_biglake_adls_name azure_omni_biglake_connection = var.azure_omni_biglake_connection }) } #################################################################################### # sp_demo_azure_omni_queries_cross_cloud #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_azure_omni_queries_cross_cloud" { project = var.project_id dataset_id = var.azure_omni_biglake_dataset_name routine_id = "sp_demo_azure_omni_queries_cross_cloud" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/azure_omni_biglake/sp_demo_azure_omni_queries_cross_cloud.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id azure_omni_biglake_dataset_name = var.azure_omni_biglake_dataset_name azure_omni_biglake_adls_name = var.azure_omni_biglake_adls_name azure_omni_biglake_connection = var.azure_omni_biglake_connection bigquery_taxi_dataset = var.bigquery_taxi_dataset # For cross cloud aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #################################################################################### # sp_demo_azure_omni_queries #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_azure_omni_queries" { project = var.project_id dataset_id = var.azure_omni_biglake_dataset_name routine_id = "sp_demo_azure_omni_queries" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/azure_omni_biglake/sp_demo_azure_omni_queries.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset shared_demo_project_id = var.shared_demo_project_id azure_omni_biglake_dataset_name = var.azure_omni_biglake_dataset_name azure_omni_biglake_adls_name = var.azure_omni_biglake_adls_name azure_omni_biglake_connection = var.azure_omni_biglake_connection }) } #################################################################################### # sp_demo_azure_omni_security_cls #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_azure_omni_security_cls" { project = var.project_id dataset_id = var.azure_omni_biglake_dataset_name routine_id = "sp_demo_azure_omni_security_cls" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/azure_omni_biglake/sp_demo_azure_omni_security_cls.sql", { project_id = var.project_id random_extension = var.random_extension shared_demo_project_id = var.shared_demo_project_id gcp_account_name = var.gcp_account_name azure_omni_biglake_dataset_name = var.azure_omni_biglake_dataset_name azure_omni_biglake_adls_name = var.azure_omni_biglake_adls_name azure_omni_biglake_connection = var.azure_omni_biglake_connection }) } #################################################################################### # sp_demo_azure_omni_security_rls #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_azure_omni_security_rls" { project = var.project_id dataset_id = var.azure_omni_biglake_dataset_name routine_id = "sp_demo_azure_omni_security_rls" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/azure_omni_biglake/sp_demo_azure_omni_security_rls.sql", { project_id = var.project_id shared_demo_project_id = var.shared_demo_project_id gcp_account_name = var.gcp_account_name azure_omni_biglake_dataset_name = var.azure_omni_biglake_dataset_name azure_omni_biglake_adls_name = var.azure_omni_biglake_adls_name azure_omni_biglake_connection = var.azure_omni_biglake_connection }) } #=================================================================================== #=================================================================================== # Rideshare Lakehouse Raw Dataset #=================================================================================== #=================================================================================== #################################################################################### # sp_create_biglake_object_table #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_biglake_object_table" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_raw_dataset routine_id = "sp_create_biglake_object_table" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_raw/sp_create_biglake_object_table.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_create_biglake_tables #################################################################################### resource "google_bigquery_routine" "sproc_sproc_sp_create_biglake_tables" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_raw_dataset routine_id = "sproc_sp_create_biglake_tables" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_raw/sp_create_biglake_tables.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_create_raw_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_raw_data" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_raw_dataset routine_id = "sp_create_raw_data" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_raw/sp_create_raw_data.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_create_streaming_view #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_streaming_view_raw" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_raw_dataset routine_id = "sp_create_streaming_view" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_raw/sp_create_streaming_view.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #=================================================================================== #=================================================================================== # Rideshare Lakehouse Enriched Dataset #=================================================================================== #=================================================================================== #################################################################################### # sp_create_streaming_view #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_streaming_view_enriched" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_enriched_dataset routine_id = "sp_create_streaming_view" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_enriched/sp_create_streaming_view.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_process_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_process_data_enriched" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_enriched_dataset routine_id = "sp_process_data" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_enriched/sp_process_data.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_unstructured_data_analysis #################################################################################### resource "google_bigquery_routine" "sproc_sp_unstructured_data_analysis" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_enriched_dataset routine_id = "sp_unstructured_data_analysis" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_enriched/sp_unstructured_data_analysis.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket cloud_function_region = var.cloud_function_region }) } #=================================================================================== #=================================================================================== # Rideshare Lakehouse Curated Dataset #=================================================================================== #=================================================================================== #################################################################################### # sp_create_looker_studio_view #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_looker_studio_view" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_create_looker_studio_view" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_create_looker_studio_view.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_create_streaming_view #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_streaming_view" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_create_streaming_view" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_create_streaming_view.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_create_website_realtime_dashboard #################################################################################### resource "google_bigquery_routine" "sproc_sp_create_website_realtime_dashboard" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_create_website_realtime_dashboard" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_create_website_realtime_dashboard.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_demo_data_quality_columns #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_data_quality_columns_rideshare" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_demo_data_quality_columns" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_demo_data_quality_columns.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_demo_data_quality_table #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_data_quality_table_curated" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_demo_data_quality_table" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_demo_data_quality_table.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_demo_script #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_script" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_demo_script" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_demo_script.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket # AWS OMNI shared_demo_project_id = var.shared_demo_project_id aws_omni_biglake_dataset_region = var.aws_omni_biglake_dataset_region aws_omni_biglake_dataset_name = var.aws_omni_biglake_dataset_name aws_omni_biglake_connection = var.aws_omni_biglake_connection aws_omni_biglake_s3_bucket = var.aws_omni_biglake_s3_bucket }) } #################################################################################### # sp_model_training #################################################################################### resource "google_bigquery_routine" "sproc_sp_model_training" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_model_training" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_model_training.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_process_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_process_data_curated" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_process_data" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_process_data.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #################################################################################### # sp_website_score_data #################################################################################### resource "google_bigquery_routine" "sproc_sp_website_score_data" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_curated_dataset routine_id = "sp_website_score_data" routine_type = "PROCEDURE" language = "SQL" arguments { name = "ride_distance" data_type = "{\"typeKind\" : \"STRING\"}" } arguments { name = "is_raining" data_type = "{\"typeKind\" : \"BOOL\"}" } arguments { name = "is_snowing" data_type = "{\"typeKind\" : \"BOOL\"}" } arguments { name = "people_traveling_cnt" data_type = "{\"typeKind\" : \"INT64\"}" } arguments { name = "people_cnt" data_type = "{\"typeKind\" : \"INT64\"}" } definition_body = templatefile("../sql-scripts/rideshare_lakehouse_curated/sp_website_score_data.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) } #=================================================================================== #=================================================================================== # Rideshare LLM Raw #=================================================================================== #=================================================================================== #################################################################################### # sp_step_00_initialize #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_raw_sp_step_00_initialize" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_raw_dataset routine_id = "sp_step_00_initialize" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_raw/sp_step_00_initialize.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket }) } #################################################################################### # sp_step_01_sproc_deploy_udf #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_raw_sp_step_01_deploy_udf" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_raw_dataset routine_id = "sp_step_01_deploy_udf" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_raw/sp_step_01_sproc_deploy_udf.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket cloud_function_region = var.cloud_function_region }) } #=================================================================================== #=================================================================================== # Rideshare LLM Enriched #=================================================================================== #=================================================================================== #################################################################################### # sp_step_00_initialize #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_enriched_sp_step_00_initialize" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_enriched_dataset routine_id = "sp_step_00_initialize" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_enriched/sp_step_00_initialize.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket }) } #################################################################################### # sp_step_01_quantitative_analysis #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_enriched_sp_step_01_quantitative_analysis" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_enriched_dataset routine_id = "sp_step_01_quantitative_analysis" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_enriched/sp_step_01_quantitative_analysis.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket }) } #################################################################################### # sp_step_02_extract_driver_attributes #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_enriched_sp_step_02_extract_driver_attributes" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_enriched_dataset routine_id = "sp_step_02_extract_driver_attributes" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_enriched/sp_step_02_extract_driver_attributes.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket }) } #################################################################################### # sp_step_03_extract_customer_attributes #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_enriched_sp_step_03_extract_customer_attributes" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_enriched_dataset routine_id = "sp_step_03_extract_customer_attributes" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_enriched/sp_step_03_extract_customer_attributes.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket }) } #=================================================================================== #=================================================================================== # Rideshare LLM Curated #=================================================================================== #=================================================================================== #################################################################################### # sp_demo_duet_ai #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_curated_sp_demo_duet_ai" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_curated_dataset routine_id = "sp_demo_duet_ai" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_curated/sp_demo_duet_ai.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket }) } #################################################################################### # sp_reset_demo #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_curated_sp_reset_demo" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_curated_dataset routine_id = "sp_reset_demo" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_curated/sp_reset_demo.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket }) } #################################################################################### # sp_step_00_initialize #################################################################################### resource "google_bigquery_routine" "sproc_sp_rideshare_llm_curated_sp_step_00_initialize" { project = var.project_id dataset_id = var.bigquery_rideshare_llm_curated_dataset routine_id = "sp_step_00_initialize" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/rideshare_llm_curated/sp_step_00_initialize.sql", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_llm_raw_dataset = var.bigquery_rideshare_llm_raw_dataset bigquery_rideshare_llm_enriched_dataset = var.bigquery_rideshare_llm_enriched_dataset bigquery_rideshare_llm_curated_dataset = var.bigquery_rideshare_llm_curated_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket }) } #################################################################################### # cleanroom_demo_queries #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_cleanroom_queries" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_cleanroom_queries" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_cleanroom_queries.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_cleanroom_dataset = var.bigquery_cleanroom_dataset }) } #################################################################################### # sp_iceberg_spark_transformation #################################################################################### resource "google_bigquery_routine" "sproc_sp_iceberg_spark_transformation" { project = var.project_id dataset_id = var.bigquery_rideshare_lakehouse_enriched_dataset routine_id = "sp_iceberg_spark_transformation" routine_type = "PROCEDURE" language = "PYTHON" definition_body = templatefile("../sql-scripts/rideshare_lakehouse_enriched/sp_iceberg_spark_transformation.py", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name bigquery_rideshare_lakehouse_raw_dataset = var.bigquery_rideshare_lakehouse_raw_dataset gcs_rideshare_lakehouse_raw_bucket = var.gcs_rideshare_lakehouse_raw_bucket bigquery_rideshare_lakehouse_enriched_dataset = var.bigquery_rideshare_lakehouse_enriched_dataset gcs_rideshare_lakehouse_enriched_bucket = var.gcs_rideshare_lakehouse_enriched_bucket bigquery_rideshare_lakehouse_curated_dataset = var.bigquery_rideshare_lakehouse_curated_dataset gcs_rideshare_lakehouse_curated_bucket = var.gcs_rideshare_lakehouse_curated_bucket }) spark_options { connection = "projects/${var.project_id}/locations/${var.bigquery_region}/connections/spark-connection" runtime_version = "1.0" jar_uris = [ "gs://spark-lib/biglake/biglake-catalog-iceberg1.2.0-0.1.0-with-dependencies.jar" ] properties = { "spark.sql.catalog.rideshare_iceberg_catalog.blms_catalog" : "rideshare_iceberg_catalog", "spark.sql.catalog.rideshare_iceberg_catalog.gcp_project" : "${var.project_id}", "spark.jars.packages" : "org.apache.iceberg:iceberg-spark-runtime-3.2_2.12:0.14.1,org.apache.spark:spark-avro_2.12:3.3.1", "spark.sql.catalog.rideshare_iceberg_catalog.catalog-impl" : "org.apache.iceberg.gcp.biglake.BigLakeCatalog", "spark.sql.catalog.rideshare_iceberg_catalog.gcp_location" : "${var.bigquery_region}", "spark.sql.catalog.rideshare_iceberg_catalog" : "org.apache.iceberg.spark.SparkCatalog", "spark.sql.catalog.rideshare_iceberg_catalog.warehouse" : "gs://${var.gcs_rideshare_lakehouse_enriched_bucket}/biglake-iceberg-warehouse" } } } #################################################################################### # sp_demo_bigspark_read_bq_save_hive_on_data_lake #################################################################################### resource "google_bigquery_routine" "sproc_sp_sp_demo_bigspark_read_bq_save_hive_on_data_lake" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_bigspark_read_bq_save_hive_on_data_lake" routine_type = "PROCEDURE" language = "PYTHON" arguments { name = "test_parameter" data_type = "{\"typeKind\" : \"STRING\"}" } definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_bigspark_read_bq_save_hive_on_data_lake.py", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name storage_bucket = "raw-${var.storage_bucket}" random_extension = var.random_extension }) spark_options { connection = "projects/${var.project_id}/locations/${var.bigquery_region}/connections/spark-connection" runtime_version = "2.0" jar_uris = [ "gs://spark-lib/bigquery/spark-3.3-bigquery-0.32.0.jar" ] } } #################################################################################### # sp_demo_bigspark_read_csv_load_bq_table #################################################################################### resource "google_bigquery_routine" "sproc_sp_sp_demo_bigspark_read_csv_load_bq_table" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_bigspark_read_csv_load_bq_table" routine_type = "PROCEDURE" language = "PYTHON" arguments { name = "test_parameter" data_type = "{\"typeKind\" : \"STRING\"}" } definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_bigspark_read_csv_load_bq_table.py", { project_id = var.project_id project_number = var.project_number bigquery_taxi_dataset = var.bigquery_taxi_dataset bigquery_region = var.bigquery_region gcp_account_name = var.gcp_account_name storage_bucket = "raw-${var.storage_bucket}" random_extension = var.random_extension }) spark_options { connection = "projects/${var.project_id}/locations/${var.bigquery_region}/connections/spark-connection" runtime_version = "1.0" jar_uris = [ "gs://spark-lib/bigquery/spark-bigquery-with-dependencies_2.12-0.26.0.jar" ] } } #################################################################################### # sp_demo_biglake_delta_lake_gcp_native #################################################################################### resource "google_bigquery_routine" "sproc_sp_demo_delta_lake_native" { project = var.project_id dataset_id = var.bigquery_taxi_dataset routine_id = "sp_demo_delta_lake_native" routine_type = "PROCEDURE" language = "SQL" definition_body = templatefile("../sql-scripts/taxi_dataset/sp_demo_delta_lake_native.sql", { project_id = var.project_id bigquery_taxi_dataset = var.bigquery_taxi_dataset storage_bucket = "processed-${var.storage_bucket}" bigquery_region = var.bigquery_region }) }