Size: a a a

2020 February 21

BK

Brusе Kawabata in Data Engineers
В спарке
источник

BK

Brusе Kawabata in Data Engineers
Или если с кафкой хочешь работать, то тоже нужно пакет указать в --packages
источник

BK

Brusе Kawabata in Data Engineers
С чем это связано ?
источник

GP

Grigory Pomadchin in Data Engineers
Brusе Kawabata
С чем это связано ?
с тем, что этих зависимостей нет в класспасе твоего кластера
источник

BK

Brusе Kawabata in Data Engineers
А зачем так сделано ? Чтобы по сети отправлять было меньше ?
источник

RS

Rinat Sharipov in Data Engineers
Oleg
Прочитал дискуссию выше по поводу параллельного обучения моделей с максимальной утилизацией, а чем плох вариант вызывать в udf model.fit(), позаботившись предварительно, чтобы данные были локально на ноде с экзекутором?
говорим о том, что делать, если не использовать mllib
источник

GP

Grigory Pomadchin in Data Engineers
Brusе Kawabata
А зачем так сделано ? Чтобы по сети отправлять было меньше ?
что бы меньше было зависимостей необходимых в класспасе
если тебе надо добавишь сам, в этом смысл

все просто могут использовать разные версии кафки / других библиотек и бывает так что они несовместимы
источник

GP

Grigory Pomadchin in Data Engineers
трансфера было бы меньше если бы класспас содержал все нужные тебе зависимости, тогда ты при старте джарника бы грузил маленькую джарку относительно
источник

C

Combot in Data Engineers
Добро пожаловать в самое дружелюбное комьюнити.
источник
2020 February 22

N

Natali in Data Engineers
Всем привет. Первый раз тут пишу и недавно начала работать с hive и hdfs. Есть проблема, возможно вопрос и глупый но я пока не могу понять в чем проблема. По запросу клиента нужно создать отчёт, который будет состоять из 4 частей, каждая из частей это результат hive query и хранится в hdfs. Соединить из union не могу, потому что количество и типы полей отличаются и клиент не хочет видеть там пустые поля или null. Поэтому соединяют их скриптом на Bash с командами на hdfs. В этот скрипт передаю все параметры (это 4 части из которых состоит отчёт, причём 3 параметра опциональные, и иногда могут не выводится) в скрипте командами hdfs cat | put кидаю первые 2 части проверяю статус файла в while  лупе, если он все ещё записывается уходит в sleep, и только после этого записываю остальные 2 части. Проблема в том, что во второй части, где сам репорт и которая самая большая по объёму при записи он не записывает какие то партиции. И я не могу понять почему, проверяла все exit code везде нули. Может кто то сможет помочь
источник

ME

Max Efremov in Data Engineers
Natali
Всем привет. Первый раз тут пишу и недавно начала работать с hive и hdfs. Есть проблема, возможно вопрос и глупый но я пока не могу понять в чем проблема. По запросу клиента нужно создать отчёт, который будет состоять из 4 частей, каждая из частей это результат hive query и хранится в hdfs. Соединить из union не могу, потому что количество и типы полей отличаются и клиент не хочет видеть там пустые поля или null. Поэтому соединяют их скриптом на Bash с командами на hdfs. В этот скрипт передаю все параметры (это 4 части из которых состоит отчёт, причём 3 параметра опциональные, и иногда могут не выводится) в скрипте командами hdfs cat | put кидаю первые 2 части проверяю статус файла в while  лупе, если он все ещё записывается уходит в sleep, и только после этого записываю остальные 2 части. Проблема в том, что во второй части, где сам репорт и которая самая большая по объёму при записи он не записывает какие то партиции. И я не могу понять почему, проверяла все exit code везде нули. Может кто то сможет помочь
Мб в этих партициях просто пусто?
источник

N

Natali in Data Engineers
Нет, в файле прямо слова обрезаются
источник
2020 February 24

DF

Dmitry Fedarchuk in Data Engineers
Natali
Всем привет. Первый раз тут пишу и недавно начала работать с hive и hdfs. Есть проблема, возможно вопрос и глупый но я пока не могу понять в чем проблема. По запросу клиента нужно создать отчёт, который будет состоять из 4 частей, каждая из частей это результат hive query и хранится в hdfs. Соединить из union не могу, потому что количество и типы полей отличаются и клиент не хочет видеть там пустые поля или null. Поэтому соединяют их скриптом на Bash с командами на hdfs. В этот скрипт передаю все параметры (это 4 части из которых состоит отчёт, причём 3 параметра опциональные, и иногда могут не выводится) в скрипте командами hdfs cat | put кидаю первые 2 части проверяю статус файла в while  лупе, если он все ещё записывается уходит в sleep, и только после этого записываю остальные 2 части. Проблема в том, что во второй части, где сам репорт и которая самая большая по объёму при записи он не записывает какие то партиции. И я не могу понять почему, проверяла все exit code везде нули. Может кто то сможет помочь
Скинь код баш скрипта
источник

N

Natali in Data Engineers
#!/bin/bash
# takes a directory of parts from hive, concatenates, renames, compresses and uploads to s3
# $1 = path for report location
# $2 = output file name
# $3 = S3 folder for output
# $4 = the path for report header (optional)
# $5 = the path for report trailer (optional)
# $6 = the path for report marketshare (optional)

if test -z $3; then
   echo "Output folder not given or doesn't exist. Exiting..."
   exit 1
fi

input_location=${1%/}
output_filename=${2%/}
output_location=${3%/}

echo "Input Location Name $input_location"
echo "Output Location Name $output_location"
echo "Output file Name $output_filename"

if [ "$4" ];
then
 header=${4%/}
 hdfs dfs -cat $header/*  $input_location/* | hdfs dfs -put - $input_location/$output_filename
 echo "Adding header " $header "and report " $input_location "to outputfile: " $input_location/$output_filename ;
else
 hdfs dfs -cat $input_location/* | hdfs dfs -put - $input_location/$output_filename
 echo "Adding report to outputfile: " $input_location/$output_filename
fi

if [ $? != 0 ]; then
   echo "Can't load report "
   exit 1
fi

#add new variables to check status of output file
file_status=$( hdfs fsck $input_location/$output_filename -openforwrite | grep -c "OPENFORWRITE" )

while [ $file_status -eq 1 ]
do
 sleep 15
 echo "File is still being written"
done

if [ "$6" ] && [ $file_status -eq 0 ]; then
 marketshare=${6%/}
 hdfs dfs -cat $marketshare/* | hdfs dfs -appendToFile - $input_location/$output_filename
 echo "Adding marketshare to outputfile: " $input_location
fi

if [ "$5" ] && [ $file_status -eq 0 ]; then
 trailer=${5%/}
 hdfs dfs -cat $trailer/* | hdfs dfs -appendToFile - $input_location/$output_filename
 echo "Adding trailer to outputfile: " $input_location
fi

hdfs dfs -cat $input_location/$output_filename | gzip > $HOME/$output_filename.gz
echo "Zip/Compressed file " ls -1 $HOME/$output_filename* " created"

aws s3 cp $HOME/$output_filename.gz $OUT_LOCATION/$output_location/
echo "Putting file into S3 folder " $OUT_LOCATION/$output_location/

if [ $? != 0 ]; then
   echo "Not able to put files on s3 location"
   exit 1
fi
источник

AZ

Anton Zadorozhniy in Data Engineers
Natali
#!/bin/bash
# takes a directory of parts from hive, concatenates, renames, compresses and uploads to s3
# $1 = path for report location
# $2 = output file name
# $3 = S3 folder for output
# $4 = the path for report header (optional)
# $5 = the path for report trailer (optional)
# $6 = the path for report marketshare (optional)

if test -z $3; then
   echo "Output folder not given or doesn't exist. Exiting..."
   exit 1
fi

input_location=${1%/}
output_filename=${2%/}
output_location=${3%/}

echo "Input Location Name $input_location"
echo "Output Location Name $output_location"
echo "Output file Name $output_filename"

if [ "$4" ];
then
 header=${4%/}
 hdfs dfs -cat $header/*  $input_location/* | hdfs dfs -put - $input_location/$output_filename
 echo "Adding header " $header "and report " $input_location "to outputfile: " $input_location/$output_filename ;
else
 hdfs dfs -cat $input_location/* | hdfs dfs -put - $input_location/$output_filename
 echo "Adding report to outputfile: " $input_location/$output_filename
fi

if [ $? != 0 ]; then
   echo "Can't load report "
   exit 1
fi

#add new variables to check status of output file
file_status=$( hdfs fsck $input_location/$output_filename -openforwrite | grep -c "OPENFORWRITE" )

while [ $file_status -eq 1 ]
do
 sleep 15
 echo "File is still being written"
done

if [ "$6" ] && [ $file_status -eq 0 ]; then
 marketshare=${6%/}
 hdfs dfs -cat $marketshare/* | hdfs dfs -appendToFile - $input_location/$output_filename
 echo "Adding marketshare to outputfile: " $input_location
fi

if [ "$5" ] && [ $file_status -eq 0 ]; then
 trailer=${5%/}
 hdfs dfs -cat $trailer/* | hdfs dfs -appendToFile - $input_location/$output_filename
 echo "Adding trailer to outputfile: " $input_location
fi

hdfs dfs -cat $input_location/$output_filename | gzip > $HOME/$output_filename.gz
echo "Zip/Compressed file " ls -1 $HOME/$output_filename* " created"

aws s3 cp $HOME/$output_filename.gz $OUT_LOCATION/$output_location/
echo "Putting file into S3 folder " $OUT_LOCATION/$output_location/

if [ $? != 0 ]; then
   echo "Not able to put files on s3 location"
   exit 1
fi
gist please
источник

N

Natali in Data Engineers
Как я понимаю вся суть в append to file для репорта. Возможно остальные команды запускаются параллельно и не ждут выполнения полной записи большого отчёта  в файл
источник

DF

Dmitry Fedarchuk in Data Engineers
Попробуй запустить все команды так, чтобы они ждали завершения предыдущих
источник

DF

Dmitry Fedarchuk in Data Engineers
Через &&
источник

N

Natali in Data Engineers
Для этого я добавила статус файла, но все равно последние строки он просто обрезает
источник
2020 February 25

Ж

Жмака in Data Engineers
Если ресторить снэпшоты hbase на другой кластер когда таблицы не созданы заранее и количества регион серверов на таргете меньше чем на source hbase начнет  region transition? Стоит сделать pre splitting заранее а таком случае?
источник