sql - 无法迁移到 bigquery,因为 bigquery 列名仅允许英文字符
问题描述
Bigquery 列名(字段)只能包含英文字母、数字和下划线。
我正在使用 python,我想创建一个脚本来将我的数据从 Postgres 迁移到 Bigquery,并且 Postgres 表有许多非英语列名。
我可能需要将列名编码为 Bigquery 接受的某种格式,但我需要能够稍后将其解码回原始格式。
做这个的最好方式是什么?
解决方案
您可以将列名编码为 base64 之类的名称,并将 +=/ 字符替换为某种占位符。
如果您不关心字段长度,您可以编码为 base 32(它比 base64 长约 20%,但不要使用 '+' 或 '/' 并且 '=' 仅用于填充,因此您可以丢弃它它不会影响字符串)
除了您可以为您的语言中的每个非英文字符制作小转换表到英文字符的某种组合之外,这仅在您有少量非英文字符时才有效。
推荐阅读
- xslt - XSLT 1.0 - 将某些元素移动到新的父元素中
- php - Cron 作业:通过 URL 参数的 PHP 循环脚本
- excel - VBA:无法更改文本字段的值?
- amcharts - 在 Angularjs 应用程序中集成 AmCharts 库的最佳方法是什么?
- javascript - 将参数添加到 Express 路由时出现 404
- flutter - PageRouteBuilder的pageBuilder和transitionsBuilder typedef参数的区别
- c# - 在具有相同 ref 变量的连续调用方法上实现 ref 功能
- c# - 事件始终为空,因此无法处理
- reactjs - React 本机错误找不到符号导入 com.facebook.react.uimanager.UIBlock,有什么想法吗?
- android - NanoHTTPD - 无法添加 gradle 依赖项