小编kak*_*aji的帖子

使用 BAT 文件的 BIG 查询命令

echo Give yearmonth "yyyyMM"
setlocal enabledelayedexpansion
SET /p yearmonth= 
SET ClientName[0]=abc
SET ClientName[1]=def

SET i = 0

:myLoop
if defined ClientName[%i%] (
    call bq query --use_legacy_sql=false "CREATE EXTERNAL TABLE `test.!ClientName[%%i]!.%yearmonth%` OPTIONS (format = 'CSV',skip_leading_rows = 1 uris = ['gs://test/!ClientName[%%i]!/AWS/%yearmonth%/Metrics/data/*.csv'])"
    set /a "i+=1"
    GOTO :myLoop

)
Run Code Online (Sandbox Code Playgroud)

您好,我正在尝试创建一个批处理,以便可以一次运行多个大查询。上面我尝试编写一个批处理脚本,将命令放入循环中。

我试图通过使用yearmonth 作为用户输入来创建一个表,然后创建数组来创建一个具有不同客户端名称的表。

  1. 但我无法在我正在使用的调用查询中打印 if i =0 ClientName[i] = abc !ClientName[%%i]! 打印但它不起作用。

  2. 当我执行bat文件时,循环内的调用查询未在GCP控制台中运行。

你能帮我解决这个问题吗

windows cmd batch-file google-bigquery

3
推荐指数
1
解决办法
497
查看次数

标签 统计

batch-file ×1

cmd ×1

google-bigquery ×1

windows ×1