Size: a a a

2019 July 03

PI

Pavel Ivanovsky in Data Engineers
postgres
источник

PI

Pavel Ivanovsky in Data Engineers
Attunity Replicate отпадает, походу платный
источник

DP

Dumitru Preguza in Data Engineers
Привет, есть офф пример:

streamingDataFrame.selectExpr("CAST(id AS STRING) AS key", "to_json(struct(*)) AS value").
 writeStream
 .format("kafka")
 .option("topic", "topicName")
 .option("kafka.bootstrap.servers", "localhost:9092")
 .option("checkpointLocation", "path to your local dir")
 .start()

не понятно почему Kafke не хватает лишь value , зачем нужен и key (и где его взять если нету в DataFrame)
источник

DP

Dumitru Preguza in Data Engineers
хотя наверно можно его загенерировать
источник

AS

Andrey Smirnov in Data Engineers
Dumitru Preguza
Привет, есть офф пример:

streamingDataFrame.selectExpr("CAST(id AS STRING) AS key", "to_json(struct(*)) AS value").
 writeStream
 .format("kafka")
 .option("topic", "topicName")
 .option("kafka.bootstrap.servers", "localhost:9092")
 .option("checkpointLocation", "path to your local dir")
 .start()

не понятно почему Kafke не хватает лишь value , зачем нужен и key (и где его взять если нету в DataFrame)
key нужен для детерминированного распределения по партициям в топике
источник

DP

Dumitru Preguza in Data Engineers
Andrey Smirnov
key нужен для детерминированного распределения по партициям в топике
пока сделал так: $"id".set(monotonically_increasing_id)
источник

AB

Andrei Boaghe in Data Engineers
Andrey Smirnov
key нужен для детерминированного распределения по партициям в топике
тогда другой вопросик:
у нас есть DataFrame c 1000 строками..
ID ведь не должен быть уникальным?? Ведь, в таком случае мы будем иметь оч много partitions? Должно быть что-то вроде:
ID; VALUE
12/2018; {name=bla-1}
12/2018; {name=bla-2}
12/2019;{name=bla-3}

В таком случае первые 2 строки пойдут в один партитион, а 3-я строка в другой?
источник

AS

Andrey Smirnov in Data Engineers
Dumitru Preguza
пока сделал так: $"id".set(monotonically_increasing_id)
как вариант, только учти что monotonically_increasing_id он не монотонный, точнее монотонный внутри только партиции, между партициями будет прыгать
источник

AS

Andrey Smirnov in Data Engineers
Andrei Boaghe
тогда другой вопросик:
у нас есть DataFrame c 1000 строками..
ID ведь не должен быть уникальным?? Ведь, в таком случае мы будем иметь оч много partitions? Должно быть что-то вроде:
ID; VALUE
12/2018; {name=bla-1}
12/2018; {name=bla-2}
12/2019;{name=bla-3}

В таком случае первые 2 строки пойдут в один партитион, а 3-я строка в другой?
как повезет, могут и в одну попасть, но с одинаковыми ключами попадут всегда в одну
источник

A

Alex in Data Engineers
@andreiboaghe
по умолчанию партишионер hash(key) % num_partitions
можно настроить RoundRobin, но тогда одинаковые ключи окажутся в разных партициях

ну или свой веселый партишинер проставить
источник

A

Alex in Data Engineers
источник

AB

Andrei Boaghe in Data Engineers
спасибо))
источник

PK

Pavel Klemenkov in Data Engineers
Всем привет! Пришло время планировать Moscow Spark #8, в связи с чем объявляется call for talks. Если у вас есть, что поведать про ваши кейсы использования Apache Spark сообществу, милости прошу в личку!
источник

EV

Eduard Vlasov in Data Engineers
Привет, подскажите пожалуйста какой параметр дергать в ярне, чтобы изменить это поведение? В кластере ресурсы еще есть, но джобы в очередь выстроились.
Application is added to the scheduler and is not yet activated. Queue's AM resource limit exceeded.
источник

A

Alex in Data Engineers
по умолчанию fair шедулер создает по очереди на каждого нового покемона
источник

A

Alex in Data Engineers
следовательно пока у тебя 2 пользователя и они явно не указывают очередь, то кластер поделил лимиты на двоих
источник

A

Alex in Data Engineers
через какое-то время у тебя 25 пользователей попользовалось ими в разный период и ресурсы порезались на всех
источник

A

Alex in Data Engineers
даже если в текущий момент может быть быть один пользователь, то ему чуть больше 1/25 от кластера будет доступно
источник

A

Alex in Data Engineers
открой настройки шедулера и его очереди
источник

A

Alex in Data Engineers
{rm_url}/ui2/index.html#/yarn-queues/root
или
{rm_url}/cluster/scheduler

на ресурсменеджере и посмотри как очереди распределены и заполнены
источник