BigQuery 命令“bq mk”引发错误“mk 操作中的 BigQuery 错误:读取架构时出错:”
Posted
技术标签:
【中文标题】BigQuery 命令“bq mk”引发错误“mk 操作中的 BigQuery 错误:读取架构时出错:”【英文标题】:BigQuery command 'bq mk' throwing the error "BigQuery error in mk operation: Error reading schema:" 【发布时间】:2019-12-24 07:48:59 【问题描述】:我是 BigQuery 的新手,我正在尝试使用从 Cloud Shell 运行的 BASH 文件创建 BigQuery 表。该文件包含以下bq mk
命令:
bq mk --table project_id:dataset_name.table_name /home/bhagesharora/temp_schema.json
temp_schema.json
的内容:
[
"description": "quarter",
"mode": "REQUIRED",
"name": "qtr",
"type": "STRING"
,
"description": "sales representative",
"mode": "NULLABLE",
"name": "rep",
"type": "STRING"
,
"description": "total sales",
"mode": "NULLABLE",
"name": "sales",
"type": "FLOAT"
]
我使用following 文档和命令作为参考:
bq mk --table mydataset.mytable ./myschema.json
我得到的完整错误是:
BigQuery error in mk operation: Error reading schema: "/home/bhagesharora/temp_schema.json
" looks like a filename, but was not found.
bq_create_eventTables.sh: line 2: $'\r': command not found
bq_create_eventTables.sh: line 3: $'\r': command not found
bq_create_eventTables.sh: line 4: $'\r': command not found
bq_create_eventTables.sh: line 5: $'\r': command not found
解决办法是什么?提前致谢。
【问题讨论】:
你能发布 cat/home/bhagesharora/temp_schema.json
返回的内容吗?它可能不存在或 BQ 实用程序没有读取权限。
我可以读取 JSON 文件 aror031@cloudshell:~$ cat /home/bhagesharora/temp_schema.json [ "description": "quarter", "mode": "REQUIRED", "name ": "qtr", "type": "STRING" , "description": "销售代表", "mode": "NULLABLE", "name": "rep", "type": "STRING" , “描述”:“总销售额”,“模式”:“NULLABLE”,“名称”:“销售额”,“类型”:“FLOAT” ]
【参考方案1】:
在第一个命令中,您将JSON
文件定义为temp_schema.json
,但在第二个bq mk
命令中,您将其命名为myschema.json
,我相信您应该将其指向myschema.json
的位置而是。
【讨论】:
第二个是例子,我指的是。 @BhageshArora 好吧,错误的输出非常简单 - 它需要一个找不到的文件。可能是隐藏字符问题。我在"/home/bhagesharora/temp_schema.json "
的最后一个双引号之前看到一个空格,当我给它错误的文件名时,它没有出现在我的末尾。尝试在本地目录中重新创建文件并重新运行命令。
鉴于与回车 \r
相关的错误,我强烈怀疑这可能是由于隐藏字符造成的,可能是在导致它的 bash 文件中。
没有多余的空格和换行,位置也很好,我从头开始创建了 JSON 文件但仍然出现错误 - mk 操作中的 BigQuery 错误:读取架构时出错:“/home/bhagesharora /temp_schema.json " 看起来像一个文件名,但没有找到。以上是关于BigQuery 命令“bq mk”引发错误“mk 操作中的 BigQuery 错误:读取架构时出错:”的主要内容,如果未能解决你的问题,请参考以下文章
使用标准 SQL 从命令行更新 bigquery 会引发太多位置参数
Python GET - 对 Bigquery API 的调用会引发超出期限的错误