Запрос GraphQL возвращает null: колба-графен
Я пытаюсь предоставить результаты агрегации искры с помощью API-интерфейса graphql. Однако запрос каждый раз возвращает null,
from flask import Flask, request
from graphene import ObjectType, Schema, String, Int, Field, Float, List
from flask_graphql import GraphQL
import json
from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext
import pyspark.sql.functions as func
from pyspark.sql.functions import col
app = Flask(__name__)
conf = SparkConf().setAppName('csv viewer')
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
csv_file = '/path/to/file'
df = sqlContext.read.format('com.databricks.spark.csv').options(header='true',inferschema='true').load(csv_file)
class Aggr(ObjectType):
country = String()
percentile = Int()
class Query(ObjectType):
aggr = List(of_type= Aggr)
def resolve_aggr(self,info):
df1 = df.where(col('country') != 'null')
result = df1.groupby('country').agg(
func.expr('percentile_approx(responseTime, array(0.95))')[0].alias('percentile')).collect()
return result
schema = Schema(query = Query)
@app.route("/spark", methods = ['POST'])
def aggr():
print(request.data)
data = json.loads(request.data)
print(json.loads(request.data)['query'])
return json.dumps(schema.execute(data["query"]).data)
Я получаю нулевой ответ, когда отправляю запрос POST с телом, содержащим {"query": "{aggr}"}
на почтальона. Я новичок в GraphQL и графене, есть идеи, где я ошибаюсь?