我试图将impala查询的输出转换为sparkrdd(或dataframe)。jdbcrdd的文档可以在这里找到。通过cloudera的jdbc驱动程序连接和查询impala工作正常。问题是jdbcrdd需要上下界以及一个可以分页的preparedstatement sql语句。
在查询impala时,我似乎无法让paging preparedstatements工作。这个的语法是什么?我找不到 Impala 的医生。
我试图避免在spark驱动程序上收集整个结果集,这就是为什么我不再使用这种逻辑(它工作得非常完美):
val resultSetList = Iterator.continually((rs.next(), rs)).takeWhile(_._1).map(r => {
getRowFromResultSet(r._2) // (ResultSet) => (spark.sql.Row)
}).toList
sc.parallelize(resultSetList)
使用jdbcrdd将自动并行化数据并将其分布到集群中。
暂无答案!
目前还没有任何答案,快来回答吧!