一个大型查询json实用程序包

bqtools-json的Python项目详细描述


这是bqtools一组方便的实用程序,可以帮助从json对象创建大查询表,并将它们转换成表(从而获得模式)和创建json新行文件。 再加上一组通用函数,以便于编写biq查询python代码

目标

  • 简化大查询结构化数据和json数据之间的处理和移动
  • 允许您从json结构创建大查询表模式(作为资源或模式对象)使用类型的反射
  • 为日分区表提供轻松的视图生成
    • 头部-最新数据
    • 数据时间快照的差异视图,即每天分区都有数据的当前视图
  • 从可以用作大查询模式基础的具有代表性的json数据计算有效的json结构
  • 清理json数据,以便将其加载到大查询中
    • 用词典替换空列表
    • 用大查询中可以是列名的有效值替换字段名(使用大查询自动检测架构时使用的相同算法删除字段名中不允许的空格和字符)
    • 对日期、日期时间、时间和时间增量的JSON输出进行编码,以大查询对应字段类型可接受的格式进行编码
  • 从bq表结构生成bq命令行工具的代码
  • 简化处理大查询数据的常见任务
    • 存在的数据集或表的基本测试< /LI>模式修补将现有的模式与模板JSON对象进行比较,如果更改并生成可在补丁
    • 中使用的合并模式,则计算
    • 展平视图以避免视图深度限制
import bqtools

# if you load a json object say something like
foo = {
        "id":1,
        "description":""
        "aboolean":False
      }

# generate a schema
table = {
   "type":"TABLE",
   "location":os.environ["location"],
   "tableReference":{
       "projectId": os.environ["projectid"],
       "datasetId": os.environ["dataset"],
       "tableId": key
   },
   "timePartitioning":{
       "type": "DAY",
       "expirationMs": "94608000000"
   },
   "schema": {}
}

# use bqtools to create a schema structure
table["schema"]["fields"] = bqtools.get_bq_schema_from_json_repr(foo)



欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java电话管理器。在安卓 9中,额外的输入号码为空   Java输出到表格式的文件?   java如何在AWS ElasticBeastable应用程序负载平衡器上运行的Spring webapp上获取I请求者IP   如何使用现有列表的成员变量创建java列表,而不使用for循环?   java是否可以在@Cacheable注释中使用枚举值作为#键?   JPanel中的java Swing:keyBinding:执行的操作不执行Jlist   java使用JAXB将XML解析为不同的数据结构   java HttpServlet可以使用doGet()方法或其他方法向客户机响应我自己类的实例对象吗?   java我们如何从Instagram获取访问令牌   java JasperReports报告没有在Spring MVC应用程序中出现   地理信息系统Java Worlwind set高程a LatLon   java实现音频信号的高通滤波器   java如何为测试禁用AWS参数存储自动配置?   java Javafx:解析命名空间中不存在的onAction//eventHandler时出错   xAuth for Java?   在自定义存储库中使用SpringBoot和JPA条件查询进行带时间戳的java查询   “./Main.java:29:错误:类JLineConsole中的构造函数JLineConsole无法应用于给定类型;”尝试从Python文件生成JAR时   java将数字输入转换为一年