Может кто-нибудь объяснить мне, что происходит в моем коде?Ниже я приведу небольшой воспроизводимый фрагмент.Когда я выполняю df = spark.createDataFrame(rows, mh.get_schema)
, я получаю следующую ошибку:
TypeError: schema should be StructType or list or None, but got:
<bound method MyHandler.get_schema of <my_handler.MyHandler instance
at 0x7f2f359890e0>>
Но почему ???Схема определена в __init__(self)
из MyHandler
.
class MyHandler:
def __init__(self):
self.alarm_schema = StructType(
[
StructField('alarm_id', StringType()),
StructField('timestamp',LongType())
])
def get_schema(self):
return self.alarm_schema
def main(argv):
spark = SparkSession \
.builder \
.appName("Test") \
.master("local[2]") \
.getOrCreate()
mh = MyHandler()
rows = [
(
"12",
1536585248000
)
]
df = spark.createDataFrame(rows, mh.get_schema)
if __name__ == '__main__':
main(sys.argv[1:])