假如你想监听一个数据服务器上的TCP Socket来获取源源不断的数据流,同时你想要实时的计算单词的数量。
object SocketComplete {
def main(args: Array[String]) {
Logger.getLogger("org").setLevel(Level.WARN)
//首先,我们需要导入必要的classes,并且创建一个本地运行的SparkSession,它是链接到Spark的程序入口。
val spark = SparkSession.builder.
appName("Spark shell").
getOrCreate()
import spark.implicits._
//接收数据类型是socket,IP是slave6,端口号是8008
val lines: DataFrame = spark.readStream.format("socket").option("host", "192.168.0.56").option("port", 8008).load()
//这个Lines DataFrame表示了一个包含了流式数据的无边界表。此表包含一列的字符串