ComeçarComece de graça

Encontrando sequências de palavras comuns

Antes, vimos como criar uma consulta que encontra sequências de palavras de comprimento três ("trios" ou "3-tuples"). Usamos essa consulta como subconsulta em uma consulta SQL tradicional para encontrar os 3-tuples mais comuns no documento de texto. Agora, você fará uma tarefa semelhante para encontrar os 5-tuples mais comuns.

O DataFrame text_df está disponível. Ele contém os cinco primeiros capítulos do texto de Sherlock Holmes. Possui as colunas: word, id, part, title. A coluna id é um inteiro tal que uma palavra que aparece depois no documento tem um id maior do que uma palavra que aparece antes. A coluna part separa os dados por capítulos. O DataFrame text_df também está registrado como uma tabela temporária chamada text. Nosso objetivo é criar um conjunto de dados em que cada linha corresponda a um 5-tuple, com um count indicando quantas vezes a tupla ocorreu no conjunto de dados.

Este exercício faz parte do curso

Introdução ao Spark SQL em Python

Ver curso

Instruções do exercício

  • Crie uma consulta query que encontre os 10 5-tuples mais comuns no conjunto de dados.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Find the top 10 sequences of five words
query = """
SELECT w1, w2, w3, w4, w5, COUNT(*) AS count FROM (
   SELECT word AS w1,
   LEAD(____) OVER(____ ) AS w2,
   ____ AS w3,
   ____ AS w4,
   ____ AS w5
   FROM text
)
GROUP BY w1, w2, w3, w4, w5
ORDER BY count DESC
LIMIT ____
"""
df = spark.sql(query)
df.show()
Editar e executar o código