Класс Row

Строка в Кадре данных. Доступ к полям в нем можно получить:

  • например, атрибуты (row.key)
  • например, значения словаря (row[key])

key in row будет выполнять поиск по ключам строк.

Строка может использоваться для создания объекта строки с помощью именованных аргументов. Не допускается опущен именованный аргумент, указывающий, что значение отсутствует или отсутствует. В данном случае это значение должно быть явно задано как None.

Изменено в Databricks Runtime 7.4: строки, созданные из именованных аргументов, больше не имеют отсортированных по алфавиту имен полей и будут упорядочены в указанной позиции.

Синтаксис

from pyspark.sql import Row

Row(tuple)

Параметры

Параметр Тип Описание
tuple кортеж Элементы строки

Методы

Метод Описание
asDict(recursive) Возвращает строку как Dict[str, Any].

Примеры

Использование именованных аргументов

from pyspark.sql import Row
row = Row(name="Alice", age=11)
row
# Row(name='Alice', age=11)
row['name'], row['age']
# ('Alice', 11)
row.name, row.age
# ('Alice', 11)
'name' in row
# True
'wrong_key' in row
# False

Создание классов строк

Также можно использовать строку для создания другого класса Row-like, а затем его можно использовать для создания объектов Row:

Person = Row("name", "age")
Person
# <Row('name', 'age')>
'name' in Person
# True
'wrong_key' in Person
# False
Person("Alice", 11)
# Row(name='Alice', age=11)

Эта форма также может использоваться для создания строк в качестве значений кортежа с неименованными полями:

row1 = Row("Alice", 11)
row2 = Row(name="Alice", age=11)
row1 == row2
# True