Agrupar dados usando um loop paralelo
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Consultas separadas a um conjunto de dados público do BigQuery retornam o número de palavras em um documento ou conjunto de documentos. Uma variável compartilhada permite que a contagem das palavras seja acumulada e lida após a conclusão de todas as iterações.
Mais informações
Para ver a documentação detalhada que inclui este exemplo de código, consulte:
Exemplo de código
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Informações incorretas ou exemplo de código","incorrectInformationOrSampleCode","thumb-down"],["Não contém as informações/amostras de que eu preciso","missingTheInformationSamplesINeed","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Outro","otherDown","thumb-down"]],[],[],[],null,["# Aggregate data using a parallel loop\n\nSeparate queries to a public BigQuery dataset each return the number of words in a document, or set of documents. A shared variable allows the count of the words to accumulate and be read after all the iterations complete.\n\nExplore further\n---------------\n\n\nFor detailed documentation that includes this code sample, see the following:\n\n- [Execute workflow steps in parallel](/workflows/docs/execute-parallel-steps)\n\nCode sample\n-----------\n\n### YAML\n\n # Use a parallel loop to make ten queries to a public BigQuery dataset and\n # use a shared variable to accumulate a count of words; after all iterations\n # complete, return the total number of words across all documents\n main:\n params: [input]\n steps:\n - init:\n assign:\n - numWords: 0\n - corpuses:\n - sonnets\n - various\n - 1kinghenryvi\n - 2kinghenryvi\n - 3kinghenryvi\n - comedyoferrors\n - kingrichardiii\n - titusandronicus\n - tamingoftheshrew\n - loveslabourslost\n - runQueries:\n parallel: # 'numWords' is shared so it can be written within the parallel loop\n shared: [numWords]\n for:\n value: corpus\n in: ${corpuses}\n steps:\n - runQuery:\n call: googleapis.bigquery.v2.jobs.query\n args:\n projectId: ${sys.get_env(\"GOOGLE_CLOUD_PROJECT_ID\")}\n body:\n useLegacySql: false\n query: ${\"SELECT COUNT(DISTINCT word) FROM `bigquery-public-data.samples.shakespeare` \" + \" WHERE corpus='\" + corpus + \"' \"}\n result: query\n - add:\n assign:\n - numWords: ${numWords + int(query.rows[0].f[0].v)} # first result is the count\n - done:\n return: ${numWords}\n\nWhat's next\n-----------\n\n\nTo search and filter code samples for other Google Cloud products, see the\n[Google Cloud sample browser](/docs/samples?product=workflows)."]]