簡體   English   中英

PySpark 結構化流式查詢 - 在儀表盤可見性中查詢

[英]PySpark Structured Streaming Query - query in dashbord visibility

我編寫了一些示例代碼連接到 kafka 代理,從主題讀取數據並將其接收到 snappydata 表。

from pyspark.conf import SparkConf
from pyspark.context import SparkContext
from pyspark.sql import SQLContext, Row, SparkSession
from pyspark.sql.snappy import SnappySession 
from pyspark.rdd import RDD
from pyspark.sql.dataframe import DataFrame
from pyspark.sql.functions import col, explode, split
import time
import sys


def main(snappy):
    logger = logging.getLogger('py4j')
    logger.info("My test info statement")


    sns = snappy.newSession()
    df = sns \
    .readStream \
    .format("kafka") \
    .option("kafka.bootstrap.servers", "10.0.0.4:9092") \
    .option("subscribe", "test_import3") \
    .option("failOnDataLoss", "false") \
    .option("startingOffsets", "latest") \
    .load()
    bdf = df.selectExpr("CAST(key AS STRING)", "CAST(value AS STRING)")

    streamingQuery = bdf\
    .writeStream\
    .format("snappysink") \
    .queryName("Devices3") \
    .trigger(processingTime="30 seconds") \
    .option("tablename","devices2") \
    .option("checkpointLocation","/tmp") \
    .start()

    streamingQuery.awaitTermination()


if __name__ == "__main__":
    from pyspark.sql.snappy import SnappySession
    from pyspark import SparkContext, SparkConf
    
    sc = SparkSession.builder.master("local[*]").appName("test").config("snappydata.connection", "10.0.0.4:1527").getOrCreate()
    snc = SnappySession(sc)
    main(snc)
    

我用命令提交

/opt/snappydata/bin/spark-submit --master spark://10.0.0.4:1527 /path_to/file.py --conf snappydata.connection=10.0.0.4:1527

一切正常,從 Kafka Topic 讀取數據並寫入 snappydata 表。 我不明白為什么我在 SnappyData 儀表板 UI 中看不到這個流式查詢 - 在控制台中提交 pyspark 代碼后,我看到新的 Spark Master UI 啟動了。

如何從 pySpark 連接到 SnappyData 內部 Spark Master 是可能的?

SnappyData 支持僅在Smart Connector 模式下提交的 Python 作業,這意味着它將始終通過單獨的 Spark 集群啟動以與 SnappyData 集群通信。 因此,您會看到您的 Python 作業顯示在此 Spark 集群的 UI 上,而不是 SnappyData 的儀表板上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM