Конфигуратор в AWS Glue не читает конфигурационный файл с S3 - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь прочитать файл конфигурации из корзины S3 с помощью скрипта Python, запускаемого AWS glue.Но файл не читается.

from __future__ import print_function
from pyspark import SparkContext
from awsglue.utils import getResolvedOptions
import sys
import ConfigParser
from os import path
sc = SparkContext.getOrCreate()
print("My New Job")

args = getResolvedOptions(sys.argv, ['config_path', 'section_type'])
config_path = args["config_path"]
print("config_path")
print(config_path)

config = ConfigParser.ConfigParser()
filenameread = config.read(['s3://temp-bucket/config/myconfig.ini','s3://temp-bucket/config/myconfig.config','s3://temp-bucket/config/myconfig.txt'])
print("filenameread")
print(filenameread)
print("sections")
print(config.sections())

Журнал выглядит так, как показано ниже.Разделы конфигурации пустые.

{
  "timestamp": 1551705899133,
  "message": "Container: container_somenumber on ip-somenumber.ec2.internal_somenumber\nLogType:stdout\nLog Upload Time:Mon Mar 04 13:24:51 +0000 2019\nLogLength:175\nLog Contents:\nMy New Job\nconfig_path\ns3://temp-bucket/config/myconfig.ini\nfilenameread\n[]\nsections\n[]\nEnd of LogType:stdout\n",
   "ingestionTime": 1551705899785
 },

Может кто-нибудь помочь в этом.Использование Python 2.7.15.

1 Ответ

0 голосов
/ 10 мая 2019

Это может быть достигнуто путем определения клавиши --extra-files в разделе параметров задания.

Из-за этого пути к файлам (запятая в случае нескольких файлов) упоминается в значении этогоключи передаются в среду выполнения во время выполнения.Затем с помощью configparser можно легко получить доступ к файлу как к обычному файлу конфигурации.

Для получения более подробной информации см. https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

...