Конфигуратор в AWS Glue не читает конфигурационный файл с S3

Оператор << на std::cout перегружен. Его поведение зависит от типа правильного операнда. (Это фактически несколько разных функций, все названы operator<<, компилятор решает, какой из них вызывать.)

Если вы дадите ему char* или const char*, он обрабатывает операнд как указатель на (первый символ) строки C-стиля и печатает содержимое этой строки:

const char * terry = "hello";
cout << terry; // prints "hello"

Если вы даете ему значение char, оно печатает это значение как символ:

cout << *terry;   // prints "h"
cout << terry[0]; // the same

Если вы указали ему указатель типа void*, он печатает это значение указателя (в определенном порядке реализации, обычно шестнадцатеричном):

cout << static_cast<const void*>(terry); // prints something like 0x4008e4

Обработка char* или const char* как указатель на строку C-стиля - это особый случай, и единственное, что я могу придумать, которое вызывает operator<< для печати чего-то другого, кроме значения операнда. Причина этого восходит к корням C ++ в C, который не имеет типа «string» и манипулирует строками с помощью указателей char*.

Существует множество других перегрузок для operator<<, для различных целочисленные и числовые типы с плавающей запятой, для std::string и т. д.

0
задан Eva Mariam 5 March 2019 в 05:34
поделиться

1 ответ

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

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

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

.
0
ответ дан raviraj deshmukh 5 March 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: