我很新兴,我正在尝试从kafka主题接收一个结构为json的DStream,我想解析每个json的内容.我收到的json是这样的:
{"type":"position","ident":"IBE32JZ","air_ground":"A","alt":"34000","clock":"1409733420","id":"IBE32JZ-1409715361-ed-0002:0","gs":"446","heading":"71","lat":"44.50987","lon":"2.98972","reg":"ECJRE","squawk":"1004","updateType":"A","altChange":" "}
Run Code Online (Sandbox Code Playgroud)
我正在尝试仅提取ident字段,至少现在我正在使用lift-json库来解析de数据.我的程序看起来像这样:
object ScalaExample {
val kafkaHost = "localhost"
val kafkaPort = 9092
val zookeeperHost = "localhost"
val zookeeperPort = 2181
implicit val formats = DefaultFormats
case class PlaneInfo(ident: String)
def parser(json: String): String = {
val parsedJson = parse(json)
val m = paso1.extract[PlaneInfo]
return m.ident
}
def main(args : Array[String]) {
val zkQuorum = "localhost:2181"
val group = "myGroup"
val topic = Map("flightStatus" -> 1)
val sparkContext = new SparkContext("local[4]", "KafkaConsumer")
val ssc = new StreamingContext(sparkContext, Seconds(10)) …Run Code Online (Sandbox Code Playgroud) 我在 macOS 10.12 上使用 minikube,并尝试使用托管在 docker hub 的私有映像。我知道 minikube 启动了一个虚拟机,据我所知,它将是我本地 kubernetes 集群的唯一节点,它将托管我所有的 pod。
我读到我可以通过运行eval $(minikube docker-env). 所以我使用这些变量从我的本地 docker 运行时更改为另一个。运行docker images我可以看到更改已有效完成。
我的下一步是使用 docker hub 登录,docker login然后手动拉取我的图像,结果没有错误。在那之后,我认为该图像将随时可供集群中的任何 pod 使用,但我总是得到ImagePullBackOff. 我还尝试通过 ssh 进入 VM minikube ssh,结果是一样的,可以使用该映像,但由于某种原因,我不知道它拒绝使用它。
如果有帮助,这是我的部署描述文件:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: web-deployment
spec:
replicas: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: godraude/nginx
imagePullPolicy: Always
ports:
- containerPort: 80
- containerPort: 443
Run Code Online (Sandbox Code Playgroud)
这是输出kubectl describe pod <podname>: …