从Spark流式传输到H2O中读取JSON文件

时间:2016-09-07 14:22:21

标签: json apache-spark h2o

我在AWS上有一个集群,我已经为大量数据安装了H2O,Sparkling Water和H2O Flow,用于机器学习。

现在,这些文件来自流媒体作业的JSON格式。假设它们被放置在名为streamed-data的文件夹中的S3中。

从Spark,使用SparkContext,我可以轻松地一次性读取它们来创建一个RDD(这是Python,但并不重要):

sc = SparkContext()
sc.read.json('path/streamed-data')

这将全部读取,创建RDD并且非常方便。

现在,我想利用H2O的功能,因此我将它与其他提到的软件一起安装在集群上。

从H2O流程来看,我的问题是缺少JSON解析器,所以我想知道我是否可以首先将它们导入H2O,或者我是否可以采取任何措施来解决问题。

1 个答案:

答案 0 :(得分:1)

运行Sparkling Water时,您可以非常轻松地将RDD / DF / DS转换为H2O帧。像这样的东西(Scala,Python看起来很相似)应该可以工作:

val dataDF = sc.read.json('path/streamed-data')
val h2oContext = H2OContext.getOrCreate(sc)
import h2oContext.implicits._
val h2oFrame = h2oContext.asH2OFrame(dataDF, "my-frame-name")

从现在开始,您可以使用代码级别和/或FlowUI中的框架。

您可以在for Pythonfor Scala找到更多示例。