如何解决Spark获取一列作为齐柏林飞艇选择形式的使用序列
我有一个数据框,我想从中选择列作为 seq 以在 zeppelin Select 表单中使用。
这是选择表单的工作原理:
选择表格要求
public class YourService {
public List<Stream<Object>> stackoverflowRequest(List<Integer> requests,String description) {
stopWatch.start();
List<Stream<GitHubPosition>> result = Flux.fromIterable(requests)
.map(pageNumber -> invokeGithubJobsApi(pageNumber,description))
.map(gitHubPositionList ->
gitHubPositionList
.stream()
// THIS METHOD YOU HAVE TO MOCK
.map(response -> anotherService.processResponse(response))
)
.collectList()
.block();
stopWatch.stop();
log.info("time elapsed: " + stopWatch.getTime());
return result;
}
我所拥有的是
required: Iterable[(Object,String)]
什么是形式
val test_seq = data.select("file","id").collect().map(x => (x.get(0),x.get(1).toString)).toSeq
并且不能在表格中使用。我还没有弄清楚如何以正确的格式从数据框中获取列。
解决方法
您可以尝试从 RDD 中获取对象和字符串的元组,并使用 toIterable
转换为 Iterable[(Object,String)]
:
val testIter = data.select("file","id").collect().map(
x => (x.getAs[Object](0),x.getAs[String](1))
).toIterable
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。