ModuleNotFound: не удается найти пакет «Pyiceberg» в задании AWS Glue Spark

Я считываю данные из таблицы каталога данных, применяю некоторую обработку, а затем мне нужно сохранить выходные данные в таблицах 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 есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
0
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам следует указывать только дополнительные пакеты, используя конфигурацию additional-python-modules, и вы не можете использовать pip для установки пакетов в стандартный блокнот.

Вам нужно запустить следующую команду:

%additional_python_modules pyiceberg

И если вы уже начали сеанс, вам нужно остановиться и начать заново, чтобы изменения вступили в силу:

Другие вопросы по теме