Tag: spark streaming

如何将每个DStream保存/插入到永久表中

我一直在面对“Spark Streaming”关于将输出Dstream插入永久性 SQL表的问题。 我想插入每个输出DStream(来自单个批处理,火花进程)到一个独特的表。 我一直在使用Spark版本1.6.2的Python。 在我的代码的这一部分,我有一个Dstream的一个或多个RDD,我想永久插入/存储到SQL表中,而不会丢失每个处理的批处理结果。 rr = feature_and_label.join(result_zipped)\ .map(lambda x: (x[1][0][0], x[1][1]) ) 这里的每个Dstream都被表示为这个元组的forms:( 4.0,0 )。 我不能使用SparkSQL,因为Spark对待'table'的方式就是像临时表一样 ,因此在每个批处理中都会丢失结果。 这是输出的一个例子: 时间:2016-09-23 00:57:00 (0.0,2) 时间:2016-09-23 00:57:01 (4.0,0) 时间:2016-09-23 00:57:02 (4.0,0) … 如上所示,每个批次仅由一个Dstream生成 。 正如我之前所说,我想将这些结果永久存储在某个地方保存的表中,并可能在稍后查询。 所以我的问题是:有没有办法做到这一点? 我很感激有人能帮我一把,但是特别告诉我这是否可能。 谢谢。