代码之家  ›  专栏  ›  技术社区  ›  Craig

BigQuery-从云存储通过UI创建表导致整数错误

  •  1
  • Craig  · 技术社区  · 8 年前

    我正在尝试测试BigQuery,但一直在用谷歌云存储中存储的数据创建表。我能够将数据减少到一个值,但这没有意义。

    我有一个文本文件上传到谷歌云存储,其中只有一个整数值,177790884

    我正在尝试通过BigQuery web UI创建一个表,并完成向导。当我进入模式定义部分时,我输入。。。 ID:整数

    负载总是出现故障。。。 错误: 文件:0/行:1/字段:1:无效参数:177790884(错误代码:无效) 遇到太多错误。限制为:0。(错误代码:无效) 作业ID信任机库-120519:Job_LREZ5lA8QNdGoG2usU4Q1jeMvvU 开始时间2016年1月30日,12:43:31 AM 结束时间2016年1月30日,12:43:34 AM 目标表trusty-hangar-120519:.onevalue 源格式CSV 允许锯齿行为真 忽略未知值true 源URI gs:///onevalue.txt 架构
    ID:整数

    如果我加载一个ID:STRING的模式,它可以正常工作。177790884的数字不大于64位有符号整数,我真的不确定发生了什么。 谢谢 克雷格

    2 回复  |  直到 8 年前
        1
  •  2
  •   Jeremy Condit    8 年前

    输入文件可能包含UTF-8字节顺序标记(文件开头的3个“不可见”字节表示编码),这可能导致BigQuery的CSV解析器失败。

    https://en.wikipedia.org/wiki/Byte_order_mark

    我建议在谷歌上搜索一个特定于平台的视图方法,并删除字节顺序标记。(十六进制编辑器就可以了。)

        2
  •  1
  •   Mikhail Berlyant    8 年前

    问题肯定是文件的编码问题。我能够重现错误。
    然后通过将“有问题”的文件保存为ANSI(仅用于测试)来“修复”它,现在它已成功加载。