У меня есть набор запросов в RDD, которые я хочу выполнить последовательно - PullRequest
0 голосов
/ 11 октября 2019

код

val rdd = sc.textFile("file:///C:/Naresh/data/ghgh").map(f =>"select count (*) from"+ " "+f.replace(",",".")).map(f => f.replace(".false",""))
rdd.foreach(println)

1 Ответ

0 голосов
/ 11 октября 2019

Если вы хотите последовательно запустить несколько операторов, лучший способ сделать это - создать несколько операторов в одном и том же SparkContext, а затем применить друг друга. Особенно для запросов SQL, вам определенно следует попытаться преобразовать RDD в кадры данных, гораздо проще применять такие операторы к кадрам данных Spark.

val rdd = sc.textFile("file:///C:/Naresh/data/ghgh").map(_.split(",")).toDF()
val query = spark.sql("SELECT count (*) FROM table")
query.map(f => f.replace("false"," "))

например, я не уверен, но я думаю, что это единственный способ, так какSQL-запросы применяются только к структурным данным, но, как я уже сказал, я не совсем уверен в этом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...