GraphQL查询返回null:flask graphene
我试图使用GraphQLAPI公开spark聚合结果。但每次查询都返回nullGraphQL查询返回null:flask graphene,flask,graphql,graphene-python,flask-graphql,Flask,Graphql,Graphene Python,Flask Graphql,我试图使用GraphQLAPI公开spark聚合结果。但每次查询都返回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.s
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请求,其正文包含postman上的{“query”:“{aggr}”}
时,得到的响应为空。
我对GraphQL和graphene很陌生,知道我哪里出了问题吗