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 会引发太多位置参数

具有编辑距离的BigQuery查询UDF引发错误

Python GET - 对 Bigquery API 的调用会引发超出期限的错误

BigQuery 可查看的最大内容

通过 BigQuery 库发送的时间戳对象返回错误“此字段不是记录”

进行预览时出现 Bigquery API 限制超出错误