create_dynamic_frame_from_catalog возвращает ноль результатов - PullRequest
0 голосов
/ 04 ноября 2018

Я пытаюсь создать динамический связующий фрейм данных из таблицы athena, но продолжаю получать пустой фрейм данных.

  • Таблица athena является частью моего каталога данных клея

  • Вызов create_dynamic_frame_method не вызывает ошибок. Я попытался загрузить случайную таблицу, и она действительно жаловалась, как проверка работоспособности.

  • Я знаю, что у таблицы Athena есть данные, поскольку запрос к той же самой таблице с использованием Athena возвращает результаты

  • Таблица представляет собой внешнюю JSON, секционированную таблицу по s3

Я использую pyspark, как показано ниже:

import sys
from pyspark.context import SparkContext
from awsglue.context import GlueContext

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

# Create a DynamicFrame using the 'raw_data' table
raw_data_df = 
glueContext.create_dynamic_frame.from_catalog(database="***", 
table_name="raw_***")

 # Print out information about this data, im getting zero here
 print "Count:  ", raw_data_df.count()

#also getting nothing here
raw_data_df.printSchema() 

Кто-нибудь сталкивался с той же проблемой? Может ли это быть проблемой с разрешениями или ошибкой, поскольку ошибок не возникает?

1 Ответ

0 голосов
/ 04 ноября 2018

В Glue есть несколько плохо документированных функций / ошибок, которые иногда расстраивают.

Я бы предложил изучить следующие конфигурации вашей работы с клеем:

  1. Имеет ли имя сегмента S3 префикс aws-glue- *?
  2. Поместите файлы в папку S3 и убедитесь, что определение таблицы сканера находится в папке. а не фактический файл.

Я также написал блог на LinkedIn о других ошибках Glue, если это поможет.

...