Considerazioni sull'utilizzo di Pig su Amazon EMR 4.x - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Considerazioni sull'utilizzo di Pig su Amazon EMR 4.x

Pig versione 0.14.0 è installato su cluster creati utilizzando versioni del rilascio di Amazon EMR 4.x. Pig è stato aggiornato alla versione 0.16.0 in Amazon EMR 5.0.0. Di seguito vengono descritte le differenze significative.

Motore di esecuzione predefinito diverso

La versione 0.14.0 di Pig nelle versioni di rilascio di Amazon EMR 4.x viene utilizzata MapReduce come motore di esecuzione predefinito. Pig versione 0.16.0 e successive utilizzano Apache Tez. È possibile impostare in modo esplicito la classificazione di configurazione da exectype=mapreduce utilizzare. pig-properties MapReduce

Funzioni definite dall'utente Dropped Pig () UDFs

Le versioni personalizzate UDFs disponibili in Pig on Amazon EMR 4.x sono state eliminate a partire da Pig 0.16.0. La maggior parte di esse dispone invece di funzioni equivalenti UDFs che è possibile utilizzare. La tabella seguente elenca le funzioni abbandonate UDFs ed equivalenti. Per ulteriori informazioni, consulta Built-in functions (Funzioni integrate) sul sito Apache Pig.

FDU interrotta Funzione equivalente

FORMAT_DT(dtformat, date)

GetHour(data), GetMinute (data), GetMonth (data), GetSecond (data), GetWeek (data), GetYear (data), GetDay (data)

EXTRACT(string, pattern)

REGEX_EXTRACT_ALL(string, pattern)

REPLACE(string, pattern, replacement)

REPLACE(string, pattern, replacement)

DATE_TIME()

ToDate()

DURATION(dt, dt2)

WeeksBetween(dt, dt2), YearsBetween (dt, dt2), (dt, dt2), SecondsBetween (dt, dt2), MonthsBetween (dt, dt2), MinutesBetween (dt, dt2) HoursBetween

EXTRACT_DT(format, date)

GetHour(data), (data), GetMinute (data), GetMonth (data), (data), GetSecond (data), (data) GetWeek GetYear GetDay

OFFSET_DT(date, duration)

AddDuration(data, durata), SubtractDuration (data, durata)

PERIOD(dt, dt2)

WeeksBetween(dt, dt2), YearsBetween (dt, dt2), (dt, dt2), SecondsBetween (dt, dt2), MonthsBetween (dt, dt2), MinutesBetween (dt, dt2) HoursBetween

CAPITALIZE(string)

UCFIRST(string)

CONCAT_WITH()

CONCAT()

INDEX_OF()

INDEXOF()

LAST_INDEX_OF()

LAST_INDEXOF()

SPLIT_ON_REGEX()

STRSPLT()

UNCAPITALIZE()

LCFIRST()

Quanto segue è UDFs stato eliminato senza equivalenti: FORMAT (), LOCAL_DATE (), LOCAL_TIME (), CENTER (), LEFT_PAD (), REPEAT (), REPLACE_ONCE (), RIGHT_PAD (), STRIP (), STRIP_END (), STRIP_START (), SWAP_CASE ().

Comandi Grunt non più disponibili

Alcuni comandi Grunt non sono più disponibili a partire da Pig 0.16.0. Nella tabella seguente vengono elencati i comandi Grunt in Pig 0.14.0 e i comandi equivalenti nella versione corrente, dove applicabile.

Pig 0.14.0 e comandi Grunt correnti equivalenti
Comando Grunt Pig 0.14.0 Comando Grunt in Pig 0.16.0 e versioni successive

cat non-hdfs-path (< >)

fs -cat < non-hdfs-path >;

cd < non-hdfs-path >;

Nessun equivalente

ls < non-hdfs-path >; fs -ls < non-hdfs-path >;

sposta < non-hdfs-path > < non-hdfs-path >;

fs -mv < non-hdfs-path > < non-hdfs-path >;

copia < non-hdfs-path > < non-hdfs-path >;

fs -cp < non-hdfs-path > < non-hdfs-path >;

copyToLocal <local-path>< non-hdfs-path >;

fs - copyToLocal < non-hdfs-path ><local-path>;

copyFromLocal <local-path>< non-hdfs-path >;

fs - copyFromLocal <local-path>< non-hdfs-path >;

mkdir < >non-hdfs-path;

fs -mkdir < >; non-hdfs-path

rm < >; non-hdfs-path

fs -rm -r -SkipTrash < >; non-hdfs-path

non-hdfs-pathrmf < >;

fs -rm -r -SkipTrash < >; non-hdfs-path

Funzionalità rimosse per home directory non HDFS

Pig 0.14.0 su versioni del rilascio 4.x di Amazon EMR dispone di due meccanismi per consentire a utenti diversi dall'utente hadoop, che non dispongono di home directory, di eseguire script Pig. Il primo meccanismo è un fallback automatico che consente di impostare la directory di lavoro iniziale sulla directory principale se la home directory non esiste. Il secondo è una proprietà pig.initial.fs.name che consente di modificare la directory di lavoro iniziale.

Questi meccanismi non sono disponibili a partire da Amazon EMR versione 5.0.0 e gli utenti devono disporre di una home directory su HDFS. Ciò non si applica all'utente hadoop, perché una home directory viene fornita all'avvio. Gli script eseguiti utilizzando fasi jar Hadoop sono impostati per default sull'utente Hadoop, a meno che non venga specificato in modo esplicito un altro utente utilizzando command-runner.jar.