Re:从零开始的打标注生活

这个学期开始在实验室打杂了。遇到一个愿意手把手带本科生的 PhD 学长,实在是非常幸运。Spider 2.0 这个数据集几乎涉及了所有数据分析的主流工具,因此即使是打标注也显得很有技术含量。

在这里稍微记录一下打标注过程中学到的零碎知识。因为没什么系统,就不分到“笔记”一栏了。


Phase I: LibreOffice Calc

基本上就是开源版本的 Excel 啦。

结构:一个 spreadsheet,其中可以包含多个 sheets。

代码:以 = 开始,例如计算 \(A2\)\(G2\) 单元格的值之和 =SUM(A2:G2)。按住单元格右下角的 + 号往下拖可以应用公式代码到多行 (列同理)。

创建 pivot table 对数据进行 summary,还能方便的绘制各种图表。


Phase II: dbt

这一阶段的难度提升了一个量级,不仅要从零开始学习各种 data analytics tools,还要设计一个样本从 instruction 到 evaluation 的所有部分。不过难度高也代表着收获大:不妨把这一阶段视作我进入 DS 领域的开始!

我负责标注的是 dbt (Data Build Tools),强大的数据转换工作流。它的主要卖点在于 dbt helps data teams work like software engineers — to ship trusted data, faster.

我的浅薄理解是,dbt 是数据分析领域的一种类似于 IDE 的东西,支持对各种 data platforms 的操纵 (通过实现的 adapters 插件连接各数据平台并提供统一的 SQL 接口),提供版本控制和更快更安全的 data transformation。

[资料 1] - Quickstart for dbt Core from a manual install.

  • dbt init [project_name]
  • 编辑 ~/.dbt/profile.ymldbt debug 连接指定的数据平台。
  • dbt seed 加载 seeds 中的 CSV 文件。
  • models 中写入 SQL query (灵活应用 ref 实现模型的 logic separation),再 dbt run 生成模型。
  • 编辑 dbt_project.yml 改变模型 materialized 的方式。
  • 新建 models/schema.yml,编辑测试和注释信息。
  • dbt test 对模型进行测试,dbt docs generate 生成项目文档,dbt docs serve --port [port_num] 将文档发布到 localhost:[port_num] 上。

[资料 2] - echo 的前端口袋 - 从 dbt core 基础到 dbt cloud 实现自动化

[资料 3] - Connect dbt to BigQuery. 难度很大的 GUI 类型 sample (完成!第一次为 project 贡献了代码)。

  • (initialization) 用 playwright 自动化 dbt cloud 的登录 (输入账户,密码,点击登录)。
  • (evaluation) 用 dbt-cloud CLI 评测项目的连接情况。


常用命令

把文件从主机移到虚拟机。

vmrun -T ws -gu user -gp password CopyFileFromHostToGuest "C:\Users\XXZ\Documents\Virtual Machines\OSWorld\OSWorld.vmx" [file_loc] /home/user


-----------------------------------そして、次の曲が始まるのです。-----------------------------------