Helpers
.com_kx_bq.fieldSchemaToKdb
Apply a BigQuery Field Schema to a dataset to convert it into a kdb object
See https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema for the format
Parameters:
| Name | Type | Description | 
|---|---|---|
| bqFieldSchema | dict | Schema object from BigQuery in kdb | 
| rowObject | dict | Either a simple value mapping or a nested field mapping | 
Returns:
| Type | Description | 
|---|---|
| dict | kdb formatted schema object | 
Example:
 q).com_kx_bq.fieldSchemaToKdb[`name`type`mode!("dob";"DATE";"NULLABLE"); enlist[`v]!enlist "1980-10-16"]
 dob| 1980.10.16
.com_kx_bq.genBQFieldSchema
Generates a BigQuery 'TableFieldSchema' from a cell of a kdb table
See https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableFieldSchema
Parameter:
| Name | Type | Description | 
|---|---|---|
| fieldDict | dict | Cell of a table to generate a TableFieldSchema for | 
Returns:
| Type | Description | 
|---|---|
| dict | TableFieldSchema object | 
Example:
 q)tab:([] a:1 2;b:3 4)
 q)tab
 a b
 ---
 1 3
 2 4
 q)enlist[`a]#first tab
 a| 1
 q).com_kx_bq.genBQFieldSchema enlist[`a]#first tab
 name| ,"a"
 type| "INT64"
 mode| "NULLABLE"
.com_kx_bq.genBQSchema
Generates a BigQuery 'TableSchema' from a kdb table This is done by inspecting the first row of the table
See https://cloud.google.com/bigquery/docs/reference/rest/v2/tables#TableSchema for definition of the TableSchema
Parameter:
| Name | Type | Description | 
|---|---|---|
| table | 
Returns:
| Type | Description | 
|---|---|
| dict | TableSchema object | 
Example:
 q)tab:([] a:1 2;b:3 4)
 q)tab
 a b
 ---
 1 3
 2 4
 q).com_kx_bq.genBQSchema tab
 fields| +`name`type`mode!((,"a";,"b");("INT64";"INT64");("NULLABLE";"NULLABLE..
.com_kx_bq.i.applyDefaultArgs
Append default arguments to an argument dictionary if enabled
Parameter:
| Name | Type | Description | 
|---|---|---|
| args | dict | Non-default parameters for a HTTP request | 
Returns:
| Type | Description | 
|---|---|
| dict | Parameters with the defaults added on | 
See Also: .com_kx_bq.cfg.useDefaults
.com_kx_bq.i.datasets.createInsertBody
Creates json formatted body for datasets.insert API
Parameters:
| Name | Type | Description | 
|---|---|---|
| projectId | string | Name of the project | 
| datasetId | string | Name of the dataset to create | 
Returns:
| Type | Description | 
|---|---|
| string | json formatted body | 
.com_kx_bq.i.getArgsFromURL
Parse parameters from parameter patterns in a URL
Parameter:
| Name | Type | Description | 
|---|---|---|
| url | string | URL with parameters wrapped in braces { } | 
Returns:
| Type | Description | 
|---|---|
| symbol[] | List of parameters | 
.com_kx_bq.i.parseDataFromQuery
Parses kdb data from a query
Parameter:
| Name | Type | Description | 
|---|---|---|
| respObj | dict | Dictionary response from BigQuery | 
Returns:
| Type | Description | 
|---|---|
| table | Table of results | 
See Also: .com_kx_bq.query
.com_kx_bq.i.queries.createBody
Creates json formatted body for queries API
Parameter:
| Name | Type | Description | 
|---|---|---|
| query | string | SQL query to run on BQ | 
Returns:
| Type | Description | 
|---|---|
| string | json formatted body | 
.com_kx_bq.i.replaceArgsInURL
Replace parameter patterns wrapped in braces with values
Parameters:
| Name | Type | Description | 
|---|---|---|
| url | string | URL with parameters wrapped in braces { } | 
| args | dict | Key value mapping of arg name to value | 
Returns:
| Type | Description | 
|---|---|
| string | URL with the parameters replaced | 
.com_kx_bq.i.tabledata.createInsertAllBody
Creates json formatted body for tabledata.insertAll API
Parameter:
| Name | Type | Description | 
|---|---|---|
| tableData | table | Table of data to insert | 
Returns:
| Type | Description | 
|---|---|
| string | json formatted body | 
.com_kx_bq.i.tables.createInsertBody
Creates json formatted body for tables.insert API
Parameters:
| Name | Type | Description | 
|---|---|---|
| projectId | string | Name of the project | 
| datasetId | string | Name of the dataset to create | 
| tableId | string | Name of table | 
| exampleKdbTab | table | Table to generate BQ schema from | 
Returns:
| Type | Description | 
|---|---|
| string | json formatted body |