You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery Dataform工作流Notebook无法生成输出链接问题求助

解决BigQuery Dataform Notebook无法生成输出链接的问题

问题背景

在BigQuery Dataform工作流中运行Notebook,通过TF-IDF分析内容寻找内链机会时,执行报错,无法访问Notebook输出和日志。

错误信息

Failure reason: Error encountered during cell execution.
Notebook output: Unable to generate link to the notebook output or the bucket which contains it.

已尝试操作

  • 将输出保存为CSV文件
  • 确认已拥有存储桶所需访问权限
  • 设置正确的存储桶作为活动存储

使用代码

import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity

df = pd.read_csv('content.csv')

df.head()

def find_internal_link_opportunities(df):
    contents = df['content'].tolist()
    vectorizer = TfidfVectorizer().fit_transform(contents)
    vectors = vectorizer.toarray()
    csim = cosine_similarity(vectors)
    return csim

csim = find_internal_link_opportunities(df)

def display_link_opportunities(df, csim, threshold=0.5):
    results = []

    for idx, row in df.iterrows():
        similar_indices = [i for i, score in enumerate(csim[idx]) if score > threshold and i != idx]

        if similar_indices:
            for i in similar_indices:
                results.append({
                    'url': row['Address'],
                    'sim_url': df.iloc[i]['Address'],
                    'sim_ratio': f"{csim[idx][i]:.2f}"
                })

    # Create a DataFrame to display results in a table format
    result_df = pd.DataFrame(results, columns=['url', 'sim_url', 'sim_ratio'])

    return result_df

final_res = display_link_opportunities(df, csim, threshold=0.2)

排查与解决步骤

1. 显式指定GCS输出路径

Dataform Notebook的输出依赖GCS存储桶,需在代码中明确指定完整路径,避免路径映射异常:

# 在生成final_res后添加输出逻辑
final_res.to_csv('gs://你的存储桶名称/输出路径/link_opportunities.csv', index=False)

确保存储桶为已配置的活动存储桶,且关联账号具备storage.objects.create权限。

2. 验证Dataform服务账号权限

个人账号权限不等于工作流使用的服务账号权限,需确认:

  • Dataform工作流关联的服务账号已被授予roles/storage.objectAdmin(或至少roles/storage.objectCreator+roles/storage.objectViewer)权限到目标存储桶
  • 服务账号拥有bigquery.jobs.create权限,保障Notebook能正常执行BigQuery操作

3. 检查代码隐性错误

报错提示单元格执行错误,可能是代码逻辑存在未捕获的异常:

  • 确认content.csv路径正确,若文件在GCS需用gs://前缀读取:
    df = pd.read_csv('gs://你的存储桶名称/文件路径/content.csv')
    
  • 验证df['content']和df['Address']列存在,避免KeyError中断执行
  • 添加打印语句验证执行完整性:
    print(f"生成了{len(final_res)}条内链机会")
    

4. 重置Notebook环境

环境缓存可能导致输出路径异常,尝试:

  • 关闭并重新打开Notebook
  • 在Dataform工作流中重新部署Notebook任务
  • 删除存储桶中旧的输出文件后重新执行

内容的提问来源于stack exchange,提问作者ali izadi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 21:57:06