【发布时间】:2019-06-12 06:18:39
【问题描述】:
这可能比bq 更像是 PowerShell 的问题,但想知道是否有人以前遇到过这个问题。
尝试使用 bq 将表格作为 CSV 提取到 GCP 存储桶,但我需要用管道分隔文件。
除了,我试图从 PowerShell 脚本中调用,而 PS 往往过于热衷于将管道解释为管道指示符。
bq extract --destination_format CSV --compression GZIP --field_delimiter "^|" --print_header "false" ([PROJECT_ID]:[DATASET].[TABLE]) (gs://[BUCKET]/[FILENAME])
我试过^、\ 和| 来尝试逃离管道,但总是出错。由于--print_header 是命令中的下一个,因此错误显示为
'--print_header' 不被识别为内部或外部命令
但这是一条红鲱鱼,因为它捕获了任何紧随其后的属性。
【问题讨论】:
-
你试过用反勾号来转义管道符吗?
-
您是否尝试过使用 & 符号启动命令?喜欢
&bq extract etc? -
不需要转义(即
--field_delimiter "|"应该可以正常工作),除非bq实际上是一个批处理脚本(bq.cmd或bq.bat)。在这种情况下,您可能需要像这样运行命令:& cmd /c 'bq extract ... --field_delimiter "|" ...'。
标签: powershell google-bigquery gsutil