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)
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.
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
.