Я считываю данные из таблицы каталога данных, применяю некоторую обработку, а затем мне нужно сохранить выходные данные в таблицах IceBerg в моей совокупной области моего озера данных на S3.
Я попробовал следующий подход:
%pip install pyiceberg
Это показывает, что ячейка работала успешно и что pyiceberg установлен. Затем я пытаюсь импортировать пакет в свое задание Spark перед применением преобразования PySpark.
from pyiceberg.catalog import load_catalog
from pyiceberg.schema import Schema
from pyiceberg.types import DoubleType, StringType, TimestampType, NestedField
from pyiceberg.partitioning import PartitionSpec, PartitionField
from pyiceberg.transforms import YearTransform, MonthTransform, DayTransform
from pyiceberg.table.sorting import SortOrder, SortField
from pyiceberg.transforms import IdentityTransform
Но столкнулся с проблемой, что пакет не найден, я все перепробовал.
ModuleNotFoundError: No module named 'pyiceberg'
Я попробовал pip install pyiceberg, попробовал перезапустить ядро после установки пакета и попробовал **pip install Iceberg** напрямую. Но ничего не работает.
Моя цель — записать преобразованные данные в таблицу IceBerg, которую создает сценарий. Ранее я пробовал писать в паркет в своем озере данных, и это сработало успешно.
🤔 А знаете ли вы, что...
Python поддерживает многозадачность и многопоточность.
Вам следует указывать только дополнительные пакеты, используя конфигурацию additional-python-modules
, и вы не можете использовать pip
для установки пакетов в стандартный блокнот.
Вам нужно запустить следующую команду:
%additional_python_modules pyiceberg
И если вы уже начали сеанс, вам нужно остановиться и начать заново, чтобы изменения вступили в силу: