Aws Glue Etl - нет модуля с именем dynamicframe - PullRequest
0 голосов
/ 01 апреля 2019

У меня проблема при попытке выполнить пример aws для Aws Glue Etl - локально

после прочтения всех этих шагов: https://docs.aws.amazon.com/glue/latest/dg/dev-endpoint-tutorial-local-notebook.html

и создаю мои конечные точки в клее AWS. Когда я пытаюсь выполнить этот код:

%pyspark
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job


# sc = SparkContext()
#glueContext = GlueContext(sc)

glueContext = GlueContext(SparkContext.getOrCreate())
spark = glueContext.spark_session




persons = glueContext.create_dynamic_frame.from_catalog(
        database="sampledb",
        table_name="avro_avro_files"
    )


print(persons.count())
persons.printSchema()

У меня есть эта ошибка:

File "/usr/share/aws/glue/etl/python/PyGlue.zip/awsglue/__init__.py", line 13, in <module>
    from dynamicframe import DynamicFrame
ImportError: No module named 'dynamicframe'

И я не знаю, как решить эту проблему

У меня локально настроен zeppeling0.7.3.

Идея с кодом, показанным ранее, заключается в следующем:

2019-04-01 11:37:22 INFO avro-test-bo: Test log message
Count: 5
root
|-- name: string
|-- favorite_number: int
|-- favorite_color: string

enter image description here

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

Здравствуйте, наконец, я получил ответ здесь

проблема в том, что когда я создаю свою конечную точку, я создаю ее только в частной сети.После создания новой конечной точки с публичной сетью.эта ошибка была решена.

Спасибо за помощь всем

С уважением

0 голосов
/ 02 апреля 2019

Вы хотите сказать, что код работал раньше и перестал работать? извините, не могу правильно истолковать это.

Что касается локальной разработки с использованием Zeppelin, не могли бы вы подтвердить правильность конфигурации, включить ли SSH-туннелирование и т. Д.? Возможно, вам придется сделать некоторые настройки. изменения в интерпретаторах Zeppelin-> Spark и т. д.

Убедитесь, что вы подключены к AWS Glue DEP с использованием SSH-туннелирования. Вот несколько ссылок, которые могут вам помочь. Похоже, ваш zeppelin не может получить GlueContext (я не вижу, как создается объект glueconext?)

# Create a Glue context
glueContext = GlueContext(SparkContext.getOrCreate())

Пожалуйста, обратитесь к этой ссылке, Настройка zeppelin в Windows , для получения любой помощи по настройке локальной среды zeppelin.

...