用于生成可随时间遍历的模板化度量提取查询的实用程序。

metric-builder的Python项目详细描述


公制生成器

用于生成可随时间遍历的模板化度量提取查询的实用程序。在

先决条件

运行此代码需要以下内容:

  • Python3

安装

待定。。。在

使用

为了提取给定的度量,需要实例化Metric对象:

metric=Metric(query="""        SELECT count(*) AS total        FROM `project.dataset.table`        WHERE DATETIME_TRUNC(created_datetime, DAY) = '{{ reference_time | format_date('%Y-%m-%d') }}'    """,reader=BigQueryReader(json_credentials_path='/path/to/creds.json'))

query参数是一个模板化查询,您可以使用模板过滤器将reference_timedatetime对象格式化为所需的格式。在

reader参数是实际要连接到所需数据库并执行查询的对象。在

metric对象现在可以用于获取给定时间点的度量,如下所示:

^{pr2}$

结果以字典列表的形式返回。在

模板过滤器

Jinja2用作模板引擎。因此,所有内置的Jinja过滤器都是可用的。为了方便起见,添加了相关的自定义模板过滤器:

格式化日期

指定日期时间的格式:

'{{ reference_time | format_date('%Y-%m-%d') }}'

日三角洲

将给定日期时间对象更改指定的天数:

'{{ reference_time | day_delta(-7) | format_date('%Y-%m-%d') }}'

读卡器

任何读取器都将实现以下用于执行查询的方法:

defexecute(self,query)->List[Dict[str,Any]]:...

BigQueryReader

底层客户机需要使用从请求的BigQuery表读取所需的特权进行身份验证。在

如果您使用以下身份验证:

gcloud auth login

或者

exportGOOGLE_APPLICATION_CREDENTIALS="/path/to/keyfile.json"

然后您可以像这样实例化Reader

reader=BigQueryReader()

另一个选项是使用服务帐户密钥文件显式验证:

reader=BigQueryReader(json_credentials_path='/path/to/creds.json')

HiveReader

很快就要来了。。。在

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

推荐PyPI第三方库


热门话题
java不兼容类型:MainActivity无法转换为LifecycleOwner   java安卓是一种更有效的读取大文本文件的方法   java导出LWJGL本地人与项目?(IntelliJ IDEA)   JDK更新后,JavaJShell不再在下一行打印输出   父类对象上的继承Java比较子属性   Java:有没有一个容器可以有效地结合HashMap和ArrayList?   安卓 Java对象指针   java在annotationdriven Spring MVC应用程序中实现大气   java 安卓源代码构建应用找不到安卓supportv4。罐子   文件系统上的抽象层和Java中的jar/zip   java在水平滚动视图中添加多个图像?   java如何从firebase实时数据库中获取字符串数组   WIndows 10工作站上的java未满足链接错误   java命令在终端中工作,但在使用过程中出现“无结束引号”错误。执行官