@hadoopusers

Страница 146 из 182
Александр
15.09.2018
17:24:09
На конкретные даты запускают обработку

Евгений
15.09.2018
17:24:16
а что, если я скажу, что можно включить эти папки как колонки в таблицу?)

а можно даже заставить спарк и файлы читать с учётом того, что это будут колонки

Александр
15.09.2018
17:25:14
Я тогда не прочь почитать об этом

Google
Евгений
15.09.2018
17:25:17
достаточно просто назвать папки вроде yyyy=2018, внутри mm=9, внутри dd=15

Александр
15.09.2018
17:25:30
Примерно так и есть

А внутри паркетные файлы

Евгений
15.09.2018
17:25:53
и если на вход спарку подать самую внешнюю папку, то он возьмёт эти названия папок как колонки

то есть будут 3 дополнительные колонки с названием yyyy, mm и dd

и значения у каждого ряда будут такие, откуда их достали

нужно считать одну/несколько папок из тысячи - можно вписать это в spark.read.parquet("dir").where("yyyy=2018")

это вызовет PartitionFilter

Александр
15.09.2018
17:28:50
Thx, посмотрю и погуглю

Евгений
15.09.2018
17:29:05
а лучше всё в хайв как таблички сохранять, включая всякое фуфло, которое приходит вот таким образом извне

а то потом хрен разберёшь, куда делось 300 терабайт

а там кто-то папочку в хдфс завёл, куда складывает логи из других систем, и нигде это не отражается, в общем-то)

Google
Grigory
15.09.2018
20:36:22
Пишет что видео недоступно
@pklemenkov :0 померли видосы чет

Pavel
15.09.2018
20:57:53
https://youtu.be/YuiXHAiRmf8

Я перезалил видео, а запиненное сообщение статичное, оно не подхватывает изменения исходника. Прошу прощения

Лучше подписаться на плейлист Moscow spark на моем канале

Александр
15.09.2018
22:06:44
Идеально, спасибо

Александр
15.09.2018
22:34:53
хм, а на канале была конфа про митап ? я бы сгонял - хорошие видео

Александр
15.09.2018
23:24:34
*инфа, чтения канала достаточное условие чтобы знать о предстоящих митапах или есть смысл еще что-то просматривать ?

Pavel
15.09.2018
23:35:59
Но @pomadchin довольно оперативно репостит сюда

Александр
15.09.2018
23:44:55
спасибо !

Polina
17.09.2018
14:06:29
Всем привет! Нужна помощь зала) Классическая ошибка: Failing Oozie Launcher, Main class [org.apache.oozie.action.hadoop.PigMain], main() threw exception, org/apache/pig/Main java.lang.NoClassDefFoundError: org/apache/pig/Main Происходит в hue при попытке запустить простейший пиго-скрипт Начало воспроизводится после обновы хадупца на тесте - sharedlib вроде выгружала Кто-нибудь помнит, куда смотреть, что копать?)

Igor
17.09.2018
14:17:53
Привет! SparkSubmitOperator в airflow запускает сабмит под собой (airflow), хотя должен под другим юзером, заданным параметром run_as_user. Соответственно в yarn отбивается, потому как там нет такого юзера. Кто сталкивался, как победить?

Polina
17.09.2018
14:26:35
Как правило, подобные ошибки связаны именно с sharelib, (например, для Spark в режиме кластера не получается найти submit и т.п.)
Я вроде ту же команду что и всегда выполняла sudo -u oozie /usr/lib/oozie/bin/oozie-setup.sh sharelib upgrade -fs hdfs://namenode.ru:8020 -locallib /usr/lib/oozie/oozie-sharelib-yarn/ В хадупе создалась новая поддиректория у которой в названии новая дата, в ней поддира pig есть И даже с джарками Может быть я где-то путь должна была исправить до sharedlib?

Google
Alexander
17.09.2018
17:55:39
Polina
17.09.2018
18:37:20
В oozie-default.xml обе настройки исторически в true Но узя всё равно не видит пиг)

Надо вот эту штуку проставить в workflow <property> <name>oozie.action.sharelib.for.pig</name> <value>pig,hive</value> </property> и ещё в job.properties: oozie.use.system.libpath=true

+

Хотя не, по-моему, у меня какая-то дичь в sharelib.for.pig прописана Сейчас проверю, спасибо

sherzod
17.09.2018
18:39:54
можно любой лог запуска открыть, там в начале classpath пишется

Polina
17.09.2018
19:05:18
В classpath написано что есть oozie-sharedlib-pig джарка а джоба падает Может быть ещё какая-то джарка нужна?

Из странного - перед тем как он ругается что нет класса pig/Main - есть строчка: Run pig script using Main.main() for Pig version before 0.8

У меня пиг вообще 0.16.0

sherzod
17.09.2018
19:13:10
видимо смешались jar-ники разных версий. а что показывает oozie admin -shareliblist

Polina
17.09.2018
19:26:16
Help показывает тоже самое) java.lang.IllegalArgumentException: Oozie URL is not available neither in command option or in the environment at org.apache.oozie.cli.OozieCLI.getOozieUrl(OozieCLI.java:702) at org.apache.oozie.cli.OozieCLI.createXOozieClient(OozieCLI.java:907) at org.apache.oozie.cli.OozieCLI.adminCommand(OozieCLI.java:1752) at org.apache.oozie.cli.OozieCLI.processCommand(OozieCLI.java:670) at org.apache.oozie.cli.OozieCLI.run(OozieCLI.java:617) at org.apache.oozie.cli.OozieCLI.main(OozieCLI.java:218) Oozie URL is not available neither in command option or in the environment

OOZIE_BASE_URL задан

oozie jobs -oozie с этим урлом тоже работает

Как оно раньше работало вообще на тесте :D

Я, короче, пока забью, утром поковыряю)

Всем спасибо!

Oleg
18.09.2018
14:02:33
Привет! Есть необходимость грузить инкрементальные данные из пары таблиц одной базы (PG) в другую (тут любой подходящий вариант) в близкой к реальному времени частотой. Подсказали вариант с кафкой https://github.com/confluentinc/bottledwater-pg Мб есть какие-то альтернативы?

Google
Oleg
18.09.2018
14:07:43
Вот прямо по этой ссылке написано, что bottled water is unmaintained и используйте другие разработки :)
ну я их видел, как я понимаю, они все тоже через Logical Decoding и kafka. Просто мне еще нужно небольшую обработку этих данных делать перед записью в целевую табличку, поэтому думал что-то вроде pipelineDB или что-то такое впихнуть (https://www.pipelinedb.com/). Но туда как-то данные тоже довозить надо)

Oleg
18.09.2018
14:19:41
Обрабатывать в Nifi или Kafka streaming?
да где-нибудь) нужно пара джоинов и немного фильтрации не уверен, что кафка стриминг подойдет для такого, nifi еще не пробовал

Oleg
18.09.2018
14:23:22
а зачем вам джойны при репликации?
ну мне не репликация нужна у меня есть данные в одной табличке и нужно грузить их в другую базу, но делая небольшую предобработку. Частота обновления "чем чаще - тем лучше", ну хотя бы раз в несколько минут. Про репликацию я пока ничего не говорил, это мне предложили)

agathis
18.09.2018
14:25:32
Или это репликация и обработка делается на целевой бд, или это не репликация, и данные перекладываются sqlями раз в n минут хоть тем же sqoop

Джойны в потоке наверное не надо делать :)

Sergey
18.09.2018
14:26:12
коллеги, кто работает с Cloudera, подскажите: если у меня для роли ZeppelinServer сервиса Zeppelin настроено auto-restart process, то это ведь делается силами supervisord и при падении процесса ZeppelinServer я никак об этом не узнаю? supervisord молча поднимет процесс. я могу не узнать о падении даже по истории состояний?

ну мне не репликация нужна у меня есть данные в одной табличке и нужно грузить их в другую базу, но делая небольшую предобработку. Частота обновления "чем чаще - тем лучше", ну хотя бы раз в несколько минут. Про репликацию я пока ничего не говорил, это мне предложили)
у вас есть четкий ключ захвата изменений на источнике (какое-нибудь поле modified_ts) ? он индексирован/партиционирован? если нет, то нужно захватывать изменения CDC-инструментами из WAL, переносить их на ODS и уже там делать комплексные обработки

Sergey
18.09.2018
14:43:47
приведите пример SQL-запроса, которым вы вычленяете инкремент из какой-либо таблицы с помощью таблицы аудита

Oleg
18.09.2018
14:56:41
SELECT id, stime FROM pr_stat.trans as p INNER JOIN (SELECT DISTINCT unix_timestamp(cast(from_unixtime(partition_dttm) as date)) as startday, unix_timestamp(cast(from_unixtime(partition_dttm) as date))+ 86399 as endday FROM pr_stat.pr_audit WHERE table_nm = 'pr_stat.trans' AND change_dttm BETWEEN '2018-09-17' AND '2018-09-18' ) as t ON p.stime BETWEEN t.startday AND t.endday;

Sergey
18.09.2018
15:04:06
т.е. во всех таблицах есть поле stime? оно проиндексировано? если вы будете дергать каждые 5 минут такой запрос по жирной таблице pr_stat.trans - DBA вас не заругают?

KrivdaAllStars
18.09.2018
16:24:50
О, там сча 2.4 RC1 будет

Grigory
18.09.2018
16:25:18
жду попробовать

Oleg
18.09.2018
16:25:41
Google
KrivdaAllStars
18.09.2018
17:33:32
когда?
20 сентября войты перестанут принимать

я думаю после 20

Oleg
18.09.2018
19:33:28
а как у вас фиксируется в таблице аудита delete?
у нас (пока) забирается весь день, в котором были изменения и перезаписывается сделано так из-за отсутствия нормальных update-delete в хадупе Но для задачи постоянной выгрузки планируется использование другой базы, возможно, тоже PG.

ну и в таблице аудита, соответственно, пишется, что был delete

Aleksey
19.09.2018
05:53:27
Всем привет. Подскажите пожалуйста. Стоит задача наиболее быстро прогрузить данные из N таблиц из Oracle в cassandra. Пара таблиц "большие" 30-50Гб. Я пока не очень силен в этом, но планирую написать небольшое приложение на scala - коннект цели и источнику, и в цикле (делим исходные данные по ключу/фильтрам на куски из больших таблиц) - и частями читаем, вставляем в cassnadra. ?

Renarde
19.09.2018
05:56:49
По большим таблицам - цикл по партициям.

https://dzone.com/articles/read-data-from-oracle-database-with-apache-spark Вот про чтение из оракла

Вот про запись в кассандру https://stackoverflow.com/questions/49151722/how-to-write-file-to-cassandra-from-spark

Страница 146 из 182