首页 > 解决方案 > gcp NL api 情绪分析 - 如何将结果存储在 BigQuery 中

问题描述

我正在使用 gcp bigquery 通过 google 函数存储新闻流并将其保存在 bigquery 中。

如何运行使用来自 bigquery 的数据的 python 脚本,并最终将分数和幅度的结果写回相关数据集?

我在谷歌文档中找不到任何关于它的内容,只是如何运行情绪分析,而不是如何从 bigquery 获取数据并将结果返回到 bigquery。

非常感谢您的支持。

标签: google-bigquerygcloudsentiment-analysisgoogle-natural-language

解决方案


你没有给我们足够的细节来给出一个具体的答案,所以让我给你我尝试这个的一般方法:

首先,让我们用gcloudCLI 对任意一个句子进行情感分析:

gcloud --format json ml language analyze-entity-sentiment --content "It's time we just let this thing go - it was a prett
y good bad idea, wasn't it though? -- Bad Idea, Sara Bareilles" | jq -c . > sentiments.json

请注意,我删除了输出 JSON 的格式,jq并将结果存储在一个文件中。

要将此文件(每个句子可能包含多个 JSON 行)加载到 BigQuery 中:

bq load --autodetect --source_format=NEWLINE_DELIMITED_JSON temp.sentiments sentiments.json 

该问题要求“流式传输到 BigQuery”,但像这里显示的那样批量加载可能更有意义。

现在我们在 BigQuery 中有一个包含结果的表:

SELECT * FROM `fh-bigquery.temp.sentiments` LIMIT 1000

在此处输入图像描述

顺便说一句,我Sara Bareilles在句子中添加了确保 BigQuery 在第一次创建表时获得用于自动检测的完整架构。

如果您想将数据流式传输到 BigQuery,请查看流式传输到 BigQuery 文档。我想在这个答案中分离出将 Cloud NLP 数据获取和查看到 BigQuery 的基础知识——其余的只是使用它的基础知识。


推荐阅读