我正在尝试使用 pyspark 从 kafka 读取流。我使用的是spark版本3.0.0-preview2和 spark-streaming-kafka-0-10_2.12 在此之前我只是统计zookeeper、kafka并创建一个新主题:
/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
/usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic data_wm
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
import pandas as pd
import os
import findspark
findspark.init("/usr/local/spark")
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("TestApp").getOrCreate()
df = spark \
.readStream \
.format("kafka") \
.option("kafka.bootstrap.servers", "localhost:9092") \
.option("subscribe", "data_wm") \
.load()
value = df.selectExpr("CAST(key AS STRING)", "CAST(value AS STRING)")
Run Code Online (Sandbox Code Playgroud)
这就是我运行脚本的方式:
sudo --preserve-env=pyspark /usr/local/spark/bin/pyspark --packages org.apache.spark:spark-streaming-kafka-0-10_2.12:3.0.0-preview
作为这个命令的结果,我有这个:
: resolving dependencies :: org.apache.spark#spark-submit-parent-0d7b2a8d-a860-4766-a4c7-141a902d8365;1.0
confs: [default]
found org.apache.spark#spark-streaming-kafka-0-10_2.12;3.0.0-preview in …Run Code Online (Sandbox Code Playgroud) apache-kafka apache-spark apache-spark-sql pyspark spark-structured-streaming
我试图通过使用机器学习预测连续值来解决回归问题。我有一个由 6 个浮点列组成的数据集。
这些数据来自低价传感器,这说明我们很可能会拥有可以被认为与众不同的值。为了解决这个问题,在预测我的连续目标之前,我将预测数据异常,并将其用作数据过滤器,但是我拥有的数据没有标记,这意味着我有无监督的异常检测问题。
用于此任务的算法是局部异常值因子、一类 SVM、隔离森林、椭圆包络和 DBSCAN。
在拟合这些算法之后,有必要对其进行评估以选择最好的算法。任何人都可以知道如何评估异常检测的无监督算法吗?