Como obter a saída do console streaming streaming no Zeppelin?

Estou lutando para conseguir oconsole pia trabalhando comStreaming estruturado do PySpark quando executado a partir de Zeppelin. Basicamente, não estou vendo nenhum resultado impresso na tela ou em nenhum arquivo de log encontrado.

Minha pergunta: Alguém tem um exemplo de como usar o PySpark Structured Streaming com um coletor que produz saída visível no Apache Zeppelin? Idealmente, ele também usaria a fonte de soquete, pois é fácil de testar.

Estou a usar:

Ubuntu 16.04spark-2.2.0-bin-hadoop2.7zeppelin-0.7.3-bin-allPython3

Baseei meu código noexemplo estruturado_nome_de_de rede.py. Funciona quando executado a partir do shell PySpark (./bin/pyspark --master local[2]); Eu vejo tabelas por lote.

%pyspark
# structured streaming
from pyspark.sql.functions import *
lines = spark\
    .readStream\
    .format('socket')\
    .option('host', 'localhost')\
    .option('port', 9999)\
    .option('includeTimestamp', 'true')\
    .load()

# Split the lines into words, retaining timestamps
# split() splits each line into an array, and explode() turns the array into multiple rows
words = lines.select(
    explode(split(lines.value, ' ')).alias('word'),
    lines.timestamp
)

# Group the data by window and word and compute the count of each group
windowedCounts = words.groupBy(
    window(words.timestamp, '10 seconds', '1 seconds'),
    words.word
).count().orderBy('window')

# Start running the query that prints the windowed word counts to the console
query = windowedCounts\
    .writeStream\
    .outputMode('complete')\
    .format('console')\
    .option('truncate', 'false')\
    .start()

print("Starting...")
query.awaitTermination(20)

Eu esperaria ver impressões de resultados para cada lote, mas, em vez disso, apenas vejoStarting..., e depoisFalse, o valor de retorno dequery.awaitTermination(20).

Em um terminal separado, estou inserindo alguns dados em umnc -lk 9999 sessão do netcat enquanto o acima estiver em execução.

questionAnswers(2)

yourAnswerToTheQuestion