为什么Arango Spark加载数据必须严格要求预定义的POJO?

时间:2019-03-16 09:52:29

标签: apache-spark apache-spark-sql arangodb

用例:

我想加载Arango集合,它可以提前很好地推断数据模式,而无需使用Spark Arango指定POJO类。可能吗?如果是,请您解释一下?

我从Arango网站上的ArangoDB-GraphCourse_Beginners pdf中获取了数据模型。机场是一个顶点。飞行是边缘。因此,基本上,机场与机场之间的飞行边缘是相关的。

想让所有机场直接转机 可从洛杉矶国际机场(洛杉矶)到达

Arango查询:-

在“ airport / LAX”航班出境的机场 返回独特的机场。

方法:- 我已经使用过Arangodb火花模块。由于没有对AQL的直接支持,因此我使用spark arango连接器加载了两个集合。现在,在加载时,我需要提前提供POJO类。 ArangoJavaRDD airportDataset = ArangoSpark.load(javaSparkContext,AirportCollection,Airport.class)

类似地,我加载了航班集合。 在这里,我必须提前创建POJO类的Airport and Flight。 然后, 创建了火花“ createOrReplaceTempView”。 现在,我已在这些临时视图上应用了SQL查询来检索此结果。 SQL: 选择与机场不同的a。*到a.documentHandle所在的位置(从flightTemp b选择b._to,其中b._from ='airport / LAX')

我能够通过这种方法实现解决方案。

问题:- 除了POJO类之外,ArangoJavaRDD还能有其他替代方法吗,因为我的用例想基于Auto scheama推断实现此目的?

0 个答案:

没有答案