我正在使用API从数据框中获取结果。
基本上我的数据框包含姓名,名字和出生日期
String myquery = "SELECT name, firstname, dateobirth FROM tableA"
我使用API来获取此人的地址(此AP
> List<Row> dataRows = new ArrayList<Row>();
dataRows = dframe.collectAsList();*
for (Row row : dataRows){
requestAnswer = row.getString(0) + " " + row.getString(1) + " " + row.getString(2);
Result result = myapi(requestanswer);
if (result.length > 0){
System.out.println(result);
}
我希望获得一个名称为firsname,dateofbirth和结果的数据框。
如何在行中添加此结果?
有更好的方法吗?
答案 0 :(得分:1)
如果您的api呼叫很快且不需要外部资源(如与某些休息服务的http连接),则有不同的选项:
withColumn
使用udf来呼叫您的服务.map
函数在数据框上转换行如果api呼叫涉及外部资源:
mapPartitions
并在那里建立您的连接。