Я пытаюсь использовать следующий код:
addresses = spark.sql('''SELECT
street_address,
city,
state,
zip_code
FROM table''')
results = addresses.rdd.map(callAPI).toDF()
def callAPI(row):
params = {
'street_line_1': row.street_address,
'city': row.city,
'state_code': row.state,
'postal_code': row.zip_code}
response = requests.get('http://localhost:5000', params = params, verify = False).json()
return Row(**response)
При запуске я получаю эту проблему:
raise ValueError("Some of types cannot be determined by the "
ValueError: Some of types cannot be determined by the first 100 rows, please try again with sampling
Я также пытался передать схему с помощью createDataFrame:
results = spark.createDataFrame(results, schema = schema)
Но это дает мне:
raise TypeError("%s can not accept object %r in type %s" % (dataType, obj, type(obj)))
TypeError: IntegerType can not accept object '0000' in type <class 'str'>
Моя цель - пройти через фрейм данных и применить функцию, а затем получить другой фрейм данных.API возвращает словарь Куда я иду не так?