>

ExecuteBQInsert

Description

Starts a query job in Google BigQuery and writes the query results to a destination table.

Syntax

ExecuteBQInsert(connection_id, sql_query, configuration_json)

Arguments

  connection_id (string) - The unique identifier of the connection to use to execute the query. You can find it in the connection's page. 

  sql_query  - String expression that evaluates to a query that returns a scalar value.

  configuration_json - optional string:


{
  "destinationTable" : {
 	  "tableId" : string
 	 ,"datasetId" : string
 	 ,"projectId" : string
 	}
 ,"useQueryCache" : boolean
 ,"useLegacySql" : boolean
 ,"jobReference" : { 
           "jobId" : string
          , "projectId" : string  
         }
  ,"writeDisposition": string
  ,"createDisposition": string
  ,"maximumBillingTier" : int
}
    • destinationTable.tableId - string expression. Specifies the name of the destination table.
    • destinationTable.datasetId - optional string expression. Specifies the destination table's dataset. Defaults to connection's default dataset.
    • destinationTable.projectId - optional string expression. Specifies the destination table's project. Defaults to connection's default project.
    • useQueryCache (optional) - boolean expression. Specifies whether to look for the result in the query cache (default value is true).
    • useLegacySql (optional) - boolean expression. Specifies whether to use BigQuery's legacy SQL dialect for the query (default value is false).
    • jobReference.jobId (optional) - string expression. Specifies a job id that can be queried afterwards.
    • jobReference.projectId (optional) - string expression. Specifies a project to add the job to. If jobId is specified and projectId is empty, the connection's projectId is used.
    • writeDisposition (optional) - string expression. The following values are supported:
      • WRITE_TRUNCATE: If the table already exists, BigQuery overwrites the table data.
      • WRITE_APPEND: If the table already exists, BigQuery appends the data to the table.
      • WRITE_EMPTY: If the table already exists and contains data, a 'duplicate' error is returned in the job result.
      The default value is WRITE_EMPTY.
    • createDisposition (optional) - string expression. The following values are supported:
      • CREATE_IF_NEEDED: If the table does not exist, BigQuery creates the table.
      • CREATE_NEVER: The table must already exist. If it does not, a 'notFound' error is returned in the job result.
      The default value is CREATE_IF_NEEDED.
    • maximumBillingTier (optional) - Limits the billing tier for this job. Queries that have resource usage beyond this tier will fail. If not specified, defaults to your project default.

Examples

ExecuteBQInsert('bq_58', 'SELECT * FROM events_old WHERE ts < \'2017-01-01\';','{"destinationTable" : {"tableId" : "events_stg"}}')

Notes

This function only executes in job runtime. When validating a package with variables that use the function or in X-console, the function returns null.

Return value datatype

The function returns a map with the following keys:

      • status - true if the stsatement executed successfully.
      • exception - returned exception string if status is false (statement failed)

Impact of null value

If the connection_id or sql_query are null, null is returned.