计算机使用智能体分类English
R03.01.02.01 · 任务小类

ELT/ETL管道搭建

ELT/ETL pipeline construction

Configure connectors, transformations and schedules in ELT tools and orchestrators.

20 条本项目编写的提案 · 分类 v1.1 · 新增基准运行 0 次。下方验证方式与部分得分规则是设计,不是执行结果。

典型应用
Airbyte · dbt · Airflow · Fivetran
小类 GUI 需求标签
HY · 混合

任务提案 · 20

展开查看完整原文与建议检查方式;两种界面均保留提案英文原文。

R03.01.02.01-T01 Configure an incremental Airbyte connection with dedup

原始指令

In the self-hosted Airbyte UI, create a connection from source Postgres 'shop' to destination DuckDB at /data/warehouse.duckdb syncing orders, customers and order_items with Incremental | Append + Deduped (cursor updated_at, primary keys per docs/keys.md), schedule every 6 hours, and run the first sync.

平台
web · 任意系统(网页)
应用
Airbyte
交互表面
brow · 浏览器
GUI 需求 · 任务设定
HY · 混合
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
click · 指向与点击 type · 文字与表单
工作产物
WP08 · 应用 / 系统状态
条件
未声明
提案难度
3 / 5

建议验证方式

Grader reads the connection config via Airbyte's internal API: streams, sync modes, cursors, PKs and schedule exact. After grader mutates 50 source rows and triggers a sync, the destination final tables equal source (no duplicates).

建议部分得分

35% stream config; 15% schedule; 20% first sync succeeded; 30% incremental dedup correct after mutation

R03.01.02.01-T02 Build tested dbt staging and mart models for orders

原始指令

In the dbt project fixtures/jaffle_dbt (DuckDB adapter), add staging models for raw orders/payments/customers and a mart fct_orders with order amount by payment method, plus unique/not_null/relationships/accepted_values tests and column docs per spec/models.md.

平台
lin · Linux mac · macOS win · Windows
应用
dbt · DuckDB
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Grader runs dbt build: all models and tests pass; fct_orders equals gold (EXCEPT both ways empty). Hidden dirty-data seed must make the relevant tests fail (tests are real). Docs YAML covers all columns.

建议部分得分

40% fct_orders correct; 30% tests pass and catch dirty seed; 15% staging models; 15% docs

R03.01.02.01-T03 Write an Airflow DAG with sensors, retries and a 7-day backfill

原始指令

Write dags/daily_sales.py for Airflow 2.9: wait for s3://landing/sales/{{ds}}.csv in MinIO, load it into Postgres staging, run a SQL transform into sales_daily, with 3 retries and 5-minute backoff, catchup on, and a 2-hour SLA. Backfill 2025-10-01 to 2025-10-07.

平台
lin · Linux
应用
Airflow · PostgreSQL · MinIO
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Grader parses the DAG (DagBag no import errors, task graph and params), checks Airflow metadata: 7 successful dag_runs for the dates; sales_daily rows match gold per date. A grader-removed file causes the sensor to wait, not fail.

建议部分得分

20% DAG parses with required settings; 20% sensor behavior; 50% 7 backfilled dates correct; 10% SLA set

R03.01.02.01-T04 Rerun failed Airflow tasks for specific dates from the UI

原始指令

In the Airflow web UI, DAG 'marketing_attribution' failed on 3 of the last 10 runs after an upstream fix was deployed. Clear only the failed tasks and their downstream tasks for those 3 runs so they rerun, and mark the 'notify_slack' task as skipped-success for all 3 without running it.

平台
web · 任意系统(网页)
应用
Airflow
交互表面
brow · 浏览器
GUI 需求 · 任务设定
HY · 混合
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
click · 指向与点击
工作产物
WP08 · 应用 / 系统状态
条件
未声明
提案难度
2 / 5

建议验证方式

Grader reads task_instance states: target runs now success for all transform tasks with try_number incremented; notify_slack state success with no execution log; the 7 good runs untouched (try_number unchanged). REST API credentials are not provided.

建议部分得分

50% correct tasks rerun; 25% notify_slack marked without running; 25% other runs untouched

R03.01.02.01-T05 Configure a Fivetran sandbox connector with hashed PII columns

原始指令

In the Fivetran sandbox account, set up the HubSpot test connector to the provided destination: sync only contacts, companies and deals; hash columns email and phone; block column notes; 1-hour sync frequency; and start the initial sync.

平台
web · 任意系统(网页)
应用
Fivetran
交互表面
brow · 浏览器
GUI 需求 · 任务设定
HY · 混合
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
click · 指向与点击
工作产物
WP08 · 应用 / 系统状态
条件
未声明
提案难度
2 / 5

建议验证方式

Grader reads connector schema config via a read-only API key: enabled tables exact, hashed and blocked columns exact, frequency 60. Destination tables contain hashed (64-hex) email values and no notes column after sync.

建议部分得分

35% table selection; 35% column hashing/blocking; 15% frequency; 15% sync results

R03.01.02.01-T06 Build a copy and mapping data flow pipeline in Azure Data Factory

原始指令

In ADF Studio (sandbox factory), build pipeline pl_ingest_returns: Copy activity from the blob container 'landing/returns/*.csv' to staging SQL table, then a Mapping Data Flow that dedups by return_id, derives refund_usd with the FX lookup table, and upserts into dbo.Returns. Parameterize the run date and trigger it for 2025-10-14.

平台
web · 任意系统(网页)
应用
Azure Data Factory
交互表面
brow · 浏览器
GUI 需求 · 任务设定
HY · 混合
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Grader exports the factory ARM template: activities, data flow transformations (aggregate/derive/lookup/alter row) and parameters present; pipeline run for the date succeeded; dbo.Returns equals gold (dedup + USD ±0.01).

建议部分得分

25% pipeline structure; 30% data flow logic; 15% parameterization; 30% output table correct

R03.01.02.01-T07 Build an SSIS package with lookups and conditional splits

原始指令

In Visual Studio with SSIS, create package LoadCustomers.dtsx: read fixtures/customers.csv, derive full_name, look up region_id from dbo.Regions (no-match rows to an error table), split VIP (lifetime_value > 10000) to dbo.VipCustomers and others to dbo.Customers. Deploy to the SSIS catalog and execute it.

平台
win · Windows
应用
Visual Studio · SSIS · SQL Server
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G2 · GUI 必要
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Grader parses the .dtsx XML for the data-flow components and paths, checks SSISDB execution status succeeded, and compares the 3 output tables to gold. The package must be saved by the Visual Studio SSIS designer (DTS:CreatorName, valid layout metadata); Biml tools are absent and .dtsx writes by other processes are detected and fail.

建议部分得分

25% components and paths; 25% lookup + error routing; 30% outputs correct; 20% deployed and executed

R03.01.02.01-T08 Build a NiFi flow that routes and loads JSON events

原始指令

On the Apache NiFi canvas, build a flow: ListenHTTP on port 9090 → validate against schemas/event.avsc → route by attribute event_type (click/purchase/other) → PutDatabaseRecord into Postgres tables clicks and purchases, sending invalid records to a failure folder. Start it and leave it running.

平台
web · 任意系统(网页)
应用
Apache NiFi · PostgreSQL
交互表面
brow · 浏览器
GUI 需求 · 任务设定
G2 · GUI 必要
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Grader posts 1,000 mixed events (40 invalid): tables hold exactly the valid click/purchase rows; 40 invalid files in failure dir; 'other' events dropped or logged per spec. Flow read via NiFi REST shows processors connected as required. NiFi Toolkit CLI and curl are absent from the agent VM, and flow history must show the components added in the UI session, not a flow-definition upload.

建议部分得分

25% processors and connections; 25% validation path; 35% table contents; 15% flow running

R03.01.02.01-T09 Make a dbt incremental model handle late data and add a snapshot

原始指令

In fixtures/events_dbt, convert fct_sessions to an incremental model with the merge strategy and a 3-day lookback for late-arriving events, and add a snapshot of dim_accounts (check strategy on plan and status) to track history.

平台
lin · Linux mac · macOS win · Windows
应用
dbt · PostgreSQL
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Grader runs dbt build, injects late events (2 days old) and account changes, runs again: fct_sessions equals a full-refresh rebuild; snapshot has dbt_valid_from/to rows for each change. No duplicates in fct_sessions.

建议部分得分

40% incremental equals full refresh; 20% lookback works; 30% snapshot history; 10% no duplicates

R03.01.02.01-T10 Materialize a partitioned Dagster asset from the UI

原始指令

In the Dagster UI for project fixtures/dagster_sales, the daily-partitioned asset 'sales_daily' and its downstream 'sales_weekly' are missing partitions for 2025-10-01..07. Launch a backfill of exactly those partitions with downstream assets, and report the row count of sales_weekly for week 2025-W40 in output/answer.txt.

平台
web · 任意系统(网页) lin · Linux
应用
Dagster
交互表面
brow · 浏览器
GUI 需求 · 任务设定
HY · 混合
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
click · 指向与点击
工作产物
WP08 · 应用 / 系统状态
条件
未声明
提案难度
3 / 5

建议验证方式

Grader reads the Dagster instance event log: materializations exist for the 7 partitions and the downstream week; no other partitions rematerialized. answer.txt equals the actual table count.

建议部分得分

50% correct partitions materialized; 20% downstream included; 15% no extra runs; 15% answer

R03.01.02.01-T11 Add caching, retries and a schedule to a Prefect flow

原始指令

Turn fixtures/prefect_etl/flow.py into a Prefect 3 deployment: tasks cache by input hash for 1 day, the API extract retries 3 times with exponential backoff, and the deployment runs daily at 06:00 Europe/Berlin with a parameter for region.

平台
lin · Linux mac · macOS win · Windows
应用
Prefect
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
2 / 5

建议验证方式

Grader inspects the deployment via Prefect API (schedule, timezone, parameters), runs it twice with the flaky mock API: second run hits cache (task state Cached); retries visible in task run states.

建议部分得分

30% schedule and timezone; 30% caching; 30% retries; 10% parameter

R03.01.02.01-T12 Build a refreshable folder-of-CSVs query in Power Query

原始指令

In Excel for Windows, use Power Query to combine all monthly CSVs in fixtures/branch_sales/ (some with an extra column and different header casing), unpivot the product columns, change types, merge with Branches.xlsx for region, and load to a table 'SalesLong' that refreshes when a new month file is added.

平台
win · Windows
应用
Excel · Power Query
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G2 · GUI 必要
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
click · 指向与点击 drag · 拖放
工作产物
WP02 · 记录 / 表格
条件
未声明
提案难度
3 / 5

建议验证方式

Grader adds a new CSV, triggers Refresh All via COM, reads SalesLong: equals gold including the new month. Query M code (from workbook DataMashup) must reference the folder, not individual files. VBA macros and COM automation are blocked for the agent account (COM is grader-only), so Workbook.Queries.Add cannot script the M; it must be built in the Power Query editor.

建议部分得分

30% combine folder robust to schema drift; 25% unpivot/types; 20% merge; 25% refresh with new file

R03.01.02.01-T13 Build a custom REST source in the Airbyte Connector Builder

原始指令

Using Airbyte's Connector Builder UI, create a source for the sandbox Tickets API (docs in docs/tickets_api.md): bearer-token auth, cursor pagination, incremental sync on updated_at, and streams tickets and comments (parent-child). Publish it and sync to the local Postgres destination.

平台
web · 任意系统(网页)
应用
Airbyte
交互表面
brow · 浏览器
GUI 需求 · 任务设定
HY · 混合
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
click · 指向与点击 type · 文字与表单
工作产物
WP06 · 代码 / 工程
条件
tutorial · 阅读文档 / 教程
提案难度
4 / 5

建议验证方式

Grader reads the published manifest: auth, paginator, incremental cursor, parent stream partition router configured. After sync, destination has all 2,340 tickets and 9,812 comments; second sync after 15 API updates adds only changed records.

建议部分得分

25% auth+pagination; 25% parent-child streams; 30% full sync counts; 20% incremental behavior

R03.01.02.01-T14 Stream database changes with Debezium into a warehouse table

原始指令

Set up CDC from sandbox MySQL 'orders' to Postgres 'analytics': Debezium MySQL connector on Kafka Connect, then a JDBC sink with upsert and delete handling so analytics.orders mirrors the source within 10 s. Handle a schema change (new column) without restarting.

平台
lin · Linux
应用
Debezium · Kafka Connect · MySQL · PostgreSQL
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP08 · 应用 / 系统状态
条件
long · 长流程
提案难度
5 / 5

建议验证方式

Grader runs a mutation script (inserts, updates, deletes, ALTER ADD COLUMN): after each phase analytics.orders equals source within 10 s; deletes propagated; new column appears with values. Connector status RUNNING.

建议部分得分

25% initial snapshot; 30% updates/deletes; 25% schema change; 20% latency target

R03.01.02.01-T15 Gate an Airflow pipeline on Great Expectations checks

原始指令

Add a Great Expectations checkpoint to the 'customer_ingest' Airflow DAG between load and publish: email format, non-null ids, unique ids, and signup_date not in the future. A failed checkpoint must stop publish and store the validation result.

平台
lin · Linux
应用
Airflow · Great Expectations
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Grader runs the DAG with a clean file (publish succeeds) and a bad file with 4 violation types (publish skipped/failed, GE result JSON lists each expectation failure). Expectation suite contents checked.

建议部分得分

30% suite correct; 30% clean path; 30% bad file blocks publish; 10% results stored

R03.01.02.01-T16 Repair a dbt project after a source column rename

原始指令

The nightly dbt run in fixtures/fin_dbt fails because the source table renamed amt to amount_cents and changed units. Fix the staging layer so downstream marts produce identical values to before, then backfill the last 30 days.

平台
lin · Linux mac · macOS win · Windows
应用
dbt · DuckDB
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Grader: dbt build passes; marts for the 30 days equal gold (unit conversion correct); downstream models unchanged except staging (git diff scope). Tests still pass.

建议部分得分

30% builds; 50% values match after unit change; 20% change confined to staging

R03.01.02.01-T17 Fan out per-customer exports with Airflow dynamic task mapping

原始指令

In Airflow 2.9, write dags/customer_exports.py that queries the active customer list, maps one export task per customer writing s3://exports/{customer}/{{ds}}.parquet in MinIO, and a final task that writes a manifest. Max 8 concurrent mapped tasks.

平台
lin · Linux
应用
Airflow · MinIO
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Grader triggers the DAG: mapped task count equals active customers (37); files exist with correct row counts; manifest lists all 37; max_active_tis_per_dagrun ≤8 observed in task timing.

建议部分得分

30% dynamic mapping; 40% exports correct; 20% manifest; 10% concurrency

R03.01.02.01-T18 Build an ETL workflow on the KNIME canvas

原始指令

In KNIME Analytics Platform, build workflow output/claims_etl.knwf: read fixtures/claims.xlsx and providers.csv, clean dates and codes, join, compute claim age buckets, flag duplicates, and write to Postgres table claims_clean plus a summary CSV. Execute it end to end.

平台
mac · macOS win · Windows lin · Linux
应用
KNIME Analytics Platform
交互表面
desk · 桌面 GUI
GUI 需求 · 任务设定
G2 · GUI 必要
GUI 需求 · 普通权限
G2 · GUI 必要
交互原语
drag · 拖放 click · 指向与点击
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
3 / 5

建议验证方式

Grader opens the .knwf (workflow.knime XML): required node types connected; runs it in KNIME batch mode on a hidden variant of the inputs; claims_clean and summary equal gold for both the original and variant. KNIME batch mode is blocked for the agent (grader-only), and workflow.knime must be saved by the KNIME UI with node layout bounds; outside writes are logged.

建议部分得分

25% workflow structure; 45% outputs correct; 30% generalizes to hidden variant

R03.01.02.01-T19 Orchestrate Airbyte, dbt and a BI refresh end to end

原始指令

Build an Airflow DAG that triggers the existing Airbyte connection 'crm_to_wh', waits for completion, runs dbt build for the 'crm' selector, then refreshes the Metabase dashboard cache 'Pipeline KPIs'. Failures must alert via the mock webhook, and the whole chain must succeed for today.

平台
web · 任意系统(网页) lin · Linux
应用
Airflow · Airbyte · dbt · Metabase
交互表面
brow · 浏览器 term · 终端
GUI 需求 · 任务设定
HY · 混合
GUI 需求 · 普通权限
HY · 混合
交互原语
code · 代码与命令 click · 指向与点击 multi · 跨应用
工作产物
WP08 · 应用 / 系统状态
条件
multiapp · 多应用 long · 长流程
提案难度
5 / 5

建议验证方式

Grader: Airflow run success; Airbyte job id linked in XCom; dbt run_results.json success for selector; Metabase cache timestamp updated after dbt end time; injected Airbyte failure produces webhook call and stops dbt.

建议部分得分

25% Airbyte trigger + wait; 25% dbt step; 20% Metabase refresh; 30% failure handling

R03.01.02.01-T20 Make a daily load pipeline idempotent and re-runnable

原始指令

The Python+SQL pipeline in fixtures/ledger_etl appends duplicates when rerun and loses rows when a run dies midway. Make it idempotent per run date (staging + atomic swap or MERGE) so any rerun or retry yields identical warehouse tables.

平台
lin · Linux mac · macOS
应用
Python · PostgreSQL
交互表面
term · 终端
GUI 需求 · 任务设定
CL · CLI 足够
GUI 需求 · 普通权限
CL · CLI 足够
交互原语
code · 代码与命令
工作产物
WP06 · 代码 / 工程
条件
未声明
提案难度
4 / 5

建议验证方式

Grader runs dates in random order, reruns 3 dates twice, and kills one run mid-load: final tables equal a single clean run (row hashes). No duplicates; partial-run rows never visible to concurrent readers.

建议部分得分

40% reruns idempotent; 30% crash safety; 20% atomic visibility; 10% order independence

已有研究映射

以下沿用研究目录中的基准与小类映射,不是逐题标注、执行记录或产品背书。

同工作流族的小类