bq-запрос powershell искажает оператор SQL (удаляет раздел после знака>) - PullRequest
0 голосов
/ 30 января 2020

Я запускаю следующую команду из powershell, используя Cloud SDK для создания запланированного запроса.

$query = "SELECT projectId as ProjectId, datasetId as DataSet, SUM(queryCostInUSD) as TotalCostInDollars, MIN(queryCostInUSD) as LeastExpensiveQueryInDollars, MAX(queryCostInUSD) as MostExpensiveQueryInDollars, Count(*) as QueryCount, TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) as StartDate, CURRENT_TIMESTAMP() as EndDate FROM ``$MYPROJECTID.$MYPROJECT_MONITORING_DATASET_NAME.$MYPROJECT_MONITORING_VIEW_NAME`` where startTime>=TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) Group by ProjectId, datasetId"

bq query --use_legacy_sql=false --destination_table=$MYPROJECTID`:$MYPROJECT_MONITORING_DATASET_NAME.BigQuery_Daily_Cost --display_name='BigQuery Daily Cost Scheduled Query' --replace=false --append_table --schedule='every 24 hours' $query

Запланированное задание действительно создается, но по какой-то причине оно отбрасывает деталь после «startTime>». Запрос заканчивается следующим образом в BigQuery GUI:

SELECT projectId as ProjectId, datasetId as DataSet, SUM(queryCostInUSD) as TotalCostInDollars, MIN(queryCostInUSD) as LeastExpensiveQueryInDollars, MAX(queryCostInUSD) as MostExpensiveQueryInDollars, Count(*) as QueryCount, TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY) as StartDate, CURRENT_TIMESTAMP() as EndDate FROM `ingestion-test-prat.Monitoring.BigQuery_JobCompleted_Pricing_View` where startTime , INTERVAL 1 DAY) Group by ProjectId, datasetId

Обратите внимание на отсутствующий фрагмент после «startTime>».

и я получаю сообщение об ошибке «Ошибка запроса: синтаксическая ошибка: неожиданно», «в [1: 411]».

Что я делаю не так?

...