เชนเซเชฒเซ, เชนเซเชฌเซเชฐ! เชเชเซ เชเชชเชฃเซ เชเชตเซ เชธเชฟเชธเซเชเชฎ เชฌเชจเชพเชตเซเชถเซเช เชเซ เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ Apache Kafka เชฎเซเชธเซเช เชธเซเชเซเชฐเซเชฎ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชถเซ เช เชจเซ เชชเซเชฐเซเชธเซเชธเชฟเชเช เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ AWS RDS เชเซเชฒเชพเชเชก เชกเซเชเชพเชฌเซเชเชฎเชพเช เชฒเชเชถเซ.
เชเชพเชฒเซ เชเชฒเซเชชเชจเชพ เชเชฐเซเช เชเซ เชเซเช เชเซเชเซเชเชธ เชงเชฟเชฐเชพเชฃ เชธเชเชธเซเชฅเชพ เช เชฎเชจเซ เชคเซเชจเซ เชคเชฎเชพเชฎ เชถเชพเชเชพเชเชฎเชพเช "เชซเซเชฒเชพเชฏ เชชเชฐ" เชเชตเชคเชพ เชตเซเชฏเชตเชนเชพเชฐเซเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชจเซเช เชเชพเชฐเซเชฏ เชธเซเชฏเซเชเชฟเชค เชเชฐเซ เชเซ. เชเซเชฐเซเชเชฐเซ เชฎเชพเชเซ เชเซเชฒเซเชฒเชพ เชเชฒเชฃเชจเซ เชธเซเชฅเชฟเชคเชฟ, เชตเซเชฏเชตเชนเชพเชฐเซ เชฎเชพเชเซ เชฎเชฐเซเชฏเชพเชฆเชพ เช เชฅเชตเชพ เชจเชพเชฃเชพเชเซเชฏ เชชเชฐเชฟเชฃเชพเชฎเซ เชตเชเซเชฐเซเชจเซ เชคเชพเชคเซเชเชพเชฒเชฟเช เชเชฃเชคเชฐเซ เชเชฐเชตเชพเชจเชพ เชนเซเชคเซเชฅเซ เช เชเชฐเซ เชถเชเชพเชฏ เชเซ.
เชเชพเชฆเซ เช เชจเซ เชเชพเชฆเซเช เชเซเชกเชฃเซเชจเชพ เชเชชเชฏเซเช เชตเชฟเชจเชพ เช เชเซเชธเชจเซ เชเซเชตเซ เชฐเซเชคเซ เช เชฎเชฒเชฎเชพเช เชฎเซเชเชตเซ - เชเช เชนเซเช เชณ เชตเชพเชเชเซ! เชเชพเช!
เชชเชฐเชฟเชเชฏ
เช เชฒเชฌเชคเซเชค, เชฐเซเช เชฒ เชเชพเชเชฎเชฎเชพเช เชฎเซเชเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชกเซเชเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชงเซเชจเชฟเช เชธเชฟเชธเซเชเชฎเชฎเชพเช เชเชชเชฏเซเช เชฎเชพเชเซ เชชเซเชฐเชคเซ เชคเชเซ เชชเซเชฐเซ เชชเชพเชกเซ เชเซ. เช เชฎเชพเชเซเชจเชพ เชธเซเชฅเซ เชฒเซเชเชชเซเชฐเชฟเชฏ เชธเชเชฏเซเชเชจเซเชฎเชพเชเชจเซเช เชเช เช เชชเชพเชเซ เชเชพเชซเชเชพ เช เชจเซ เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเชเชจเซเช เชเซเชจเซเชกเชฎ เชเซ, เชเซเชฏเชพเช เชเชพเชซเชเชพ เชเชจเชเชฎเชฟเชเช เชฎเซเชธเซเช เชชเซเชเซเชเซเชจเซ เชธเซเชเซเชฐเซเชฎ เชฌเชจเชพเชตเซ เชเซ, เช เชจเซ เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเช เช เชชเซเชเซเชเซเชจเซ เชเชชเซเชฒ เชธเชฎเชฏ เช เชเชคเชฐเชพเชฒ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเซ เชเซ.
เชเชชเซเชฒเชฟเชเซเชถเชจเชจเซ เชเชพเชฎเซ เชธเชนเชฟเชทเซเชฃเซเชคเชพ เชตเชงเชพเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชเซเชเชชเซเชเชจเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เช เชฎเชฟเชเซเชจเชฟเชเชฎ เชธเชพเชฅเซ, เชเซเชฏเชพเชฐเซ เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเช เชเชจเซเชเชฟเชจเชจเซ เชเซเชตเชพเชฏเซเชฒเซ เชกเซเชเชพ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเซเชจเซ เชฎเชพเชคเซเชฐ เชเซเชฒเซเชฒเชพ เชเซเชเชชเซเชเชจเซเช เชชเชฐ เชชเชพเชเชพ เชเชตเชพเชจเซ เช เชจเซ เชคเซเชฏเชพเชเชฅเซ เชเชฃเชคเชฐเซเช เชซเชฐเซ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
เชตเชฟเชเชธเชฟเชค เชธเชฟเชธเซเชเชฎเชจเซเช เชเชฐเซเชเชฟเชเซเชเซเชเชฐ
เชตเชชเชฐเชพเชฏเซเชฒ เชเชเชเซ:
เช เชชเชพเชเซ เชเชพเชซเชเชพ เชตเชฟเชคเชฐเชฟเชค เชชเชฌเซเชฒเชฟเชถ-เชธเชฌเซเชธเซเชเซเชฐเชพเชเชฌ เชฎเซเชธเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชเซ. เชเชซเชฒเชพเชเชจ เช เชจเซ เชเชจเชฒเชพเชเชจ เชฌเชเชจเซ เชธเชเชฆเซเชถ เชตเชชเชฐเชพเชถ เชฎเชพเชเซ เชฏเซเชเซเชฏ. เชกเซเชเชพ เชจเซเชเชถเชพเชจ เช เชเชเชพเชตเชตเชพ เชฎเชพเชเซ, เชเชพเชซเชเชพ เชธเชเชฆเซเชถเชพเช เชกเชฟเชธเซเช เชชเชฐ เชธเชเชเซเชฐเชนเชฟเชค เชฅเชพเชฏ เชเซ เช เชจเซ เชเซเชฒเชธเซเชเชฐเชจเซ เช เชเชฆเชฐ เชจเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชพเชซเชเชพ เชธเชฟเชธเซเชเชฎ เชเซเชเซเชชเชฐ เชธเชฟเชเชเซเชฐเซเชจเชพเชเชเซเชถเชจ เชธเซเชตเชพเชจเซ เชเซเช เชชเชฐ เชฌเชจเซเชฒเซ เชเซ;เช เชชเชพเชเซ เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเช - เชธเซเชเซเชฐเซเชฎเชฟเชเช เชกเซเชเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเซเชชเชพเชฐเซเช เชเชเช. เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเช เชฎเซเชกเซเชฏเซเชฒ เชฎเชพเชเชเซเชฐเซ-เชฌเซเช เชเชฐเซเชเชฟเชเซเชเซเชเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ, เชเซเชฏเชพเช เชกเซเชเชพ เชธเซเชเซเชฐเซเชฎเชจเซ เชจเชพเชจเชพ เชกเซเชเชพ เชชเซเชเซเชเซเชจเชพ เชธเชคเชค เชเซเชฐเชฎ เชคเชฐเซเชเซ เช เชฐเซเชฅเชเชเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเช เชตเชฟเชตเชฟเชง เชธเซเชคเซเชฐเซเชคเซเชฎเชพเชเชฅเซ เชกเซเชเชพ เชฒเซ เชเซ เช เชจเซ เชคเซเชจเซ เชจเชพเชจเชพ เชชเซเชเซเชเซเชฎเชพเช เชเซเชกเซ เชเซ. เชจเชตเชพ เชชเซเชเซเชเซ เชจเชฟเชฏเชฎเชฟเชค เชธเชฎเชฏเชพเชเชคเชฐเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฆเชฐเซเช เชธเชฎเชฏ เช เชเชคเชฐเชพเชฒเชจเซ เชถเชฐเซเชเชคเชฎเชพเช, เชเช เชจเชตเซเช เชชเซเชเซเช เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช เชจเซ เชคเซ เช เชเชคเชฐเชพเชฒ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซเชฒ เชเซเชเชชเชฃ เชกเซเชเชพ เชชเซเชเซเชเชฎเชพเช เชธเชฎเชพเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชเชคเชฐเชพเชฒเชจเชพ เช เชเชคเซ, เชชเซเชเซเช เชตเซเชฆเซเชงเชฟ เช เชเชเซ เชเซ. เช เชเชคเชฐเชพเชฒเชจเซเช เชเชฆ เชฌเซเช เช เชเชคเชฐเชพเชฒ เชคเชฐเซเชเซ เชเชณเชเชพเชคเชพ เชชเชฐเชฟเชฎเชพเชฃ เชฆเซเชตเชพเชฐเชพ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ;เช เชชเชพเชเซ เชธเซเชชเชพเชฐเซเช เชเชธเชเซเชฏเซเชเชฒ - เชธเซเชชเชพเชฐเซเช เชซเชเชเซเชถเชจเชฒ เชชเซเชฐเซเชเซเชฐเชพเชฎเชฟเชเช เชธเชพเชฅเซ เชฐเชฟเชฒเซเชถเชจเชฒ เชชเซเชฐเซเชธเซเชธเชฟเชเชเชจเซ เชเซเชกเซ เชเซ. เชธเซเชเซเชฐเชเซเชเชฐเซเชก เชกเซเชเชพ เชเชเชฒเซ เชเซ เชธเซเชเซเชฎเชพ เชงเชฐเชพเชตเชคเซ เชกเซเชเชพ, เชเชเชฒเซ เชเซ เชคเชฎเชพเชฎ เชฐเซเชเซเชฐเซเชกเซเชธ เชฎเชพเชเซ เชซเซเชฒเซเชกเชจเซ เชเช เชธเซเช. เชธเซเชชเชพเชฐเซเช เชเชธเชเซเชฏเซเชเชฒ เชตเชฟเชตเชฟเชง เชฎเชพเชณเชเชพเชเชค เชกเซเชเชพ เชธเซเชคเซเชฐเซเชคเซเชฎเชพเชเชฅเซ เชเชจเชชเซเชเชจเซ เชธเชฎเชฐเซเชฅเชจ เชเชชเซ เชเซ เช เชจเซ, เชธเซเชเซเชฎเชพ เชฎเชพเชนเชฟเชคเซเชจเซ เชเชชเชฒเชฌเซเชงเชคเชพเชจเซ เชเชญเชพเชฐเซ เชเซ, เชคเซ เชฎเชพเชคเซเชฐ เชฐเซเชเซเชฐเซเชกเซเชธเชจเชพ เชเชฐเซเชฐเซ เชเซเชทเซเชคเซเชฐเซเชจเซ เช เชธเชฐเชเชพเชฐเช เชฐเซเชคเซ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเซ เชถเชเซ เชเซ, เช เชจเซ เชกเซเชเชพเชซเซเชฐเซเชฎ API เชชเชฃ เชชเซเชฐเชฆเชพเชจ เชเชฐเซ เชเซ;AWS RDS เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชธเชธเซเชคเซเช เชเซเชฒเชพเชเชก-เชเชงเชพเชฐเชฟเชค เชฐเชฟเชฒเซเชถเชจเชฒ เชกเซเชเชพเชฌเซเช เชเซ, เชตเซเชฌ เชธเซเชตเชพ เชเซ เชเซ เชธเซเชเช เชช, เชเชชเชฐเซเชถเชจ เช เชจเซ เชธเซเชเซเชฒเชฟเชเชเชจเซ เชธเชฐเชณ เชฌเชจเชพเชตเซ เชเซ, เช เชจเซ เชธเซเชงเชพ เชเชฎเซเชเซเชจ เชฆเซเชตเชพเชฐเชพ เชธเชเชเชพเชฒเชฟเชค เชฅเชพเชฏ เชเซ.
เชเชพเชซเชเชพ เชธเชฐเซเชตเชฐเชจเซ เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชเชฒเชพเชตเซ เชฐเชนเซเชฏเซเช เชเซ
เชเชพเชซเชเชพเชจเซ เชธเซเชงเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชชเชนเซเชฒเชพ, เชคเชฎเชพเชฐเซ เชเชพเชคเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชคเชฎเชพเชฐเซ เชชเชพเชธเซ เชเชพเชตเชพ เชเซ, เชเชพเชฐเชฃ เชเซ... JVM เชจเซ เชเชชเชฏเซเช เชเชพเชฎ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ:
sudo apt-get update
sudo apt-get install default-jre
java -version
เชเชพเชฒเซ เชเชพเชซเชเชพ เชธเชพเชฅเซ เชเชพเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ เชเช เชจเชตเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชฌเชจเชพเชตเซเช:
sudo useradd kafka -m
sudo passwd kafka
sudo adduser kafka sudo
เชเชเชณ, เช เชชเชพเชเซ เชเชพเชซเชเชพเชจเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชตเซเชฌเชธเชพเชเช เชชเชฐเชฅเซ เชตเชฟเชคเชฐเชฃ เชกเชพเชเชจเชฒเซเชก เชเชฐเซ:
wget -P /YOUR_PATH "http://apache-mirror.rbc.ru/pub/apache/kafka/2.2.0/kafka_2.12-2.2.0.tgz"
เชกเชพเชเชจเชฒเซเชก เชเชฐเซเชฒ เชเชฐเซเชเชพเชเชตเชจเซ เช เชจเชชเซ เช เชเชฐเซ:
tar -xvzf /YOUR_PATH/kafka_2.12-2.2.0.tgz
ln -s /YOUR_PATH/kafka_2.12-2.2.0 kafka
เชเชเชณเชจเซเช เชชเชเชฒเซเช เชตเซเชเชฒเซเชชเชฟเช เชเซ. เชนเชเซเชเชค เช เชเซ เชเซ เชกเชฟเชซเซเชฒเซเช เชธเซเชเชฟเชเชเซเชธ เชคเชฎเชจเซ เช เชชเชพเชเซ เชเชพเชซเซเชเชพเชจเซ เชคเชฎเชพเชฎ เชเซเชทเชฎเชคเชพเชเชจเซ เชธเชเชชเซเชฐเซเชฃ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชคเซ เชจเชฅเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซเช เชตเชฟเชทเชฏ, เชถเซเชฐเซเชฃเซ, เชเซเชฅเชจเซ เชเชพเชขเซ เชจเชพเชเซ เชเซเชฎเชพเช เชธเชเชฆเซเชถเชพ เชชเซเชฐเชเชพเชถเชฟเชค เชเชฐเซ เชถเชเชพเชฏ. เชเชจเซ เชฌเชฆเชฒเชตเชพ เชฎเชพเชเซ, เชเชพเชฒเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชฎเชพเช เชซเซเชฐเชซเชพเชฐ เชเชฐเซเช:
vim ~/kafka/config/server.properties
เชซเชพเชเชฒเชจเชพ เช เชเชคเชฎเชพเช เชจเซเชเซเชจเชพ เชเชฎเซเชฐเซ:
delete.topic.enable = true
เชเชพเชซเชเชพ เชธเชฐเซเชตเชฐ เชถเชฐเซ เชเชฐเชคเชพ เชชเชนเซเชฒเชพ, เชคเชฎเชพเชฐเซ ZooKeeper เชธเชฐเซเชตเชฐ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ; เช เชฎเซ เชธเชนเชพเชฏเช เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เชเซ เชเชพเชซเชเชพ เชตเชฟเชคเชฐเชฃ เชธเชพเชฅเซ เชเชตเซ เชเซ:
Cd ~/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
ZooKeeper เชธเชซเชณเชคเชพเชชเซเชฐเซเชตเช เชถเชฐเซ เชฅเชฏเชพ เชชเชเซ, เชเชพเชซเชเชพ เชธเชฐเซเชตเชฐเชจเซ เช เชฒเช เชเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช เชฒเซเชเช เชเชฐเซ:
bin/kafka-server-start.sh config/server.properties
เชเชพเชฒเซ เชเซเชฐเชพเชจเซเชเซเชเซเชถเชจ เชจเชพเชฎเชจเซ เชจเชตเซ เชตเชฟเชทเชฏ เชฌเชจเชพเชตเซเช:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic transaction
เชเชพเชฒเซ เชเชพเชคเชฐเซ เชเชฐเซเช เชเซ เชเชฐเซเชฐเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชชเชพเชฐเซเชเซเชถเชจเซ เช เชจเซ เชชเซเชฐเชคเชฟเชเซเชคเชฟ เชธเชพเชฅเซเชจเซ เชตเชฟเชทเชฏ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ:
bin/kafka-topics.sh --describe --zookeeper localhost:2181
เชเชพเชฒเซ เชจเชตเชพ เชฌเชจเชพเชตเซเชฒเชพ เชตเชฟเชทเชฏ เชฎเชพเชเซ เชจเชฟเชฐเซเชฎเชพเชคเชพ เช
เชจเซ เชเชชเชญเซเชเซเชคเชพเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเชตเชพเชจเซ เชเซเชทเชฃเซ เชเซเชเซ เชเชเช. เชคเชฎเซ เชธเชเชฆเซเชถเชพ เชฎเซเชเชฒเชตเชพ เช
เชจเซ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเซเชตเซ เชฐเซเชคเซ เชเชฐเซ เชถเชเซ เชคเซ เชตเชฟเชถเซ เชตเชงเซ เชตเชฟเชเชคเซ เชธเชคเซเชคเชพเชตเชพเชฐ เชฆเชธเซเชคเชพเชตเซเชเซเชฎเชพเช เชฒเชเซเชฒเซ เชเซ -
เชจเชฟเชฐเซเชฎเชพเชคเชพ เชฒเซเชเชจ
เชจเชฟเชฐเซเชฎเชพเชคเชพ เชฐเซเชจเซเชกเชฎ เชกเซเชเชพ เชเชจเชฐเซเช เชเชฐเชถเซ - เชฆเชฐ เชธเซเชเชจเซเชกเซ 100 เชธเชเชฆเซเชถเชพ. เชฐเซเชจเซเชกเชฎ เชกเซเชเชพ เชฆเซเชตเชพเชฐเชพ เช เชฎเชพเชฐเซ เชฎเชคเชฒเชฌ เชคเซเชฐเชฃ เชเซเชทเซเชคเซเชฐเซเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชคเซ เชถเชฌเซเชฆเชเซเชถ เชเซ:
- เชถเชพเชเชพ - เชเซเชฐเซเชกเชฟเช เชธเชเชธเซเชฅเชพเชจเชพ เชตเซเชเชพเชฃ เชฌเชฟเชเชฆเซเชจเซเช เชจเชพเชฎ;
- เชเชฐเชจเซเชธเซ - เชตเซเชฏเชตเชนเชพเชฐ เชเชฒเชฃ;
- เชฐเชเชฎ - เชตเซเชฏเชตเชนเชพเชฐเชจเซ เชฐเชเชฎ. เชเซ เชฌเซเชเช เชฆเซเชตเชพเชฐเชพ เชเชฒเชฃเชจเซ เชเชฐเซเชฆเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซ เชคเซ เชฐเชเชฎ เชงเชจ เชธเชเชเซเชฏเชพ เชนเชถเซ เช เชจเซ เชเซ เชคเซ เชตเซเชเชพเชฃ เชนเชถเซ เชคเซ เชจเชเชพเชฐเชพเชคเซเชฎเช เชธเชเชเซเชฏเชพ เชนเชถเซ.
เชจเชฟเชฐเซเชฎเชพเชคเชพ เชฎเชพเชเซเชจเซ เชเซเชก เชเชจเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ:
from numpy.random import choice, randint
def get_random_value():
new_dict = {}
branch_list = ['Kazan', 'SPB', 'Novosibirsk', 'Surgut']
currency_list = ['RUB', 'USD', 'EUR', 'GBP']
new_dict['branch'] = choice(branch_list)
new_dict['currency'] = choice(currency_list)
new_dict['amount'] = randint(-100, 100)
return new_dict
เชเชเชณ, เชฎเซเชเชฒเชตเชพเชจเซ เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช เชฎเซ JSON เชซเซเชฐเซเชฎเซเชเชฎเชพเช, เช เชฎเชจเซ เชเซเชเชคเชพ เชตเชฟเชทเชฏ เชชเชฐ เชธเชฐเซเชตเชฐเชจเซ เชธเชเชฆเซเชถ เชฎเซเชเชฒเซเช เชเซเช:
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers=['localhost:9092'],
value_serializer=lambda x:dumps(x).encode('utf-8'),
compression_type='gzip')
my_topic = 'transaction'
data = get_random_value()
try:
future = producer.send(topic = my_topic, value = data)
record_metadata = future.get(timeout=10)
print('--> The message has been sent to a topic:
{}, partition: {}, offset: {}'
.format(record_metadata.topic,
record_metadata.partition,
record_metadata.offset ))
except Exception as e:
print('--> It seems an Error occurred: {}'.format(e))
finally:
producer.flush()
เชธเซเชเซเชฐเชฟเชชเซเช เชเชฒเชพเชตเชคเซ เชตเชเชคเซ, เช เชฎเชจเซ เชเชฐเซเชฎเชฟเชจเชฒเชฎเชพเช เชจเซเชเซเชจเชพ เชธเชเชฆเซเชถเชพเช เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชเซ:
เชเชจเซ เช
เชฐเซเชฅ เช เชเซ เชเซ เชฌเชงเซเช เช
เชฎเซ เชเชเซเชเซเช เชเซเช เชคเซ เชชเซเชฐเชฎเชพเชฃเซ เชเชพเชฐเซเชฏ เชเชฐเซ เชเซ - เชจเชฟเชฐเซเชฎเชพเชคเชพ เช
เชฎเชจเซ เชเชฐเซเชฐเซ เชตเชฟเชทเชฏ เชชเชฐ เชธเชเชฆเซเชถเชพ เชเชจเชฐเซเช เชเชฐเซ เชเซ เช
เชจเซ เชฎเซเชเชฒเซ เชเซ.
เชเชเชณเชจเซเช เชชเชเชฒเซเช เชธเซเชชเชพเชฐเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซเช เชเซ เช
เชจเซ เช เชธเชเชฆเซเชถ เชธเซเชเซเชฐเซเชฎ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชจเซเช เชเซ.
เช เชชเชพเชเซ เชธเซเชชเชพเชฐเซเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เช เชชเชพเชเซ เชธเซเชชเชพเชฐเซเช เชเช เชธเชพเชฐเซเชตเชคเซเชฐเชฟเช เช เชจเซ เชเชเซเช-เชชเซเชฐเชฆเชฐเซเชถเชจ เชเซเชฒเชธเซเชเชฐ เชเชฎเซเชชเซเชฏเซเชเชฟเชเช เชชเซเชฒเซเชเชซเซเชฐเซเชฎ เชเซ.
เชธเซเชชเชพเชฐเซเช เชฎเซเชชเชฐเซเชกเซเชฏเซเชธ เชฎเซเชกเชฒเชจเชพ เชฒเซเชเชชเซเชฐเชฟเชฏ เช เชฎเชฒเซเชเชฐเชฃเซ เชเชฐเชคเชพเช เชตเชงเซ เชธเชพเชฐเซ เชเชพเชฎเชเซเชฐเซ เชเชฐเซ เชเซ เชเซเชฏเชพเชฐเซ เชเชจเซเชเชฐเซเชเซเชเชฟเชต เชเซเชตเซเชฐเซเช เช เชจเซ เชธเซเชเซเชฐเซเชฎ เชชเซเชฐเซเชธเซเชธเชฟเชเช เชธเชนเชฟเชค เชเชฃเชคเชฐเซเชจเชพ เชชเซเชฐเชเชพเชฐเซเชจเซ เชตเชฟเชถเชพเชณ เชถเซเชฐเซเชฃเซเชจเซ เชธเชฎเชฐเซเชฅเชจ เชเชชเซ เชเซ. เชฎเซเชเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชกเซเชเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชคเซ เชตเชเชคเซ เชเชกเชช เชฎเชนเชคเซเชตเชจเซ เชญเซเชฎเชฟเชเชพ เชญเชเชตเซ เชเซ, เชเชพเชฐเชฃ เชเซ เชคเซ เชเชกเชช เชเซ เชเซ เชคเชฎเชจเซ เชฎเชฟเชจเชฟเชเซ เช เชฅเชตเชพ เชเชฒเชพเชเซ เชฐเชพเชน เชเซเชฏเชพ เชตเชฟเชจเชพ เชเชจเซเชเชฐเซเชเซเชเชฟเชต เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซ เชเซ. เชธเซเชชเชพเชฐเซเชเชจเซ เชธเซเชฅเซ เชฎเซเชเซ เชถเชเซเชคเชฟเชเชฎเชพเชเชฅเซ เชเช เชเซ เชคเซเชจเซ เชเชเชฒเซ เชเชกเชชเซ เชฌเชจเชพเชตเซ เชเซ เชคเซ เชคเซเชจเซ เชเชจ-เชฎเซเชฎเชฐเซ เชเชฃเชคเชฐเซเช เชเชฐเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ เชเซ.
เช เชซเซเชฐเซเชฎเชตเชฐเซเช Scala เชฎเชพเช เชฒเชเชพเชฏเซเชฒ เชเซ, เชคเซเชฅเซ เชคเชฎเชพเชฐเซ เชคเซเชจเซ เชชเชนเซเชฒเชพ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
sudo apt-get install scala
เชธเชคเซเชคเชพเชตเชพเชฐ เชตเซเชฌเชธเชพเชเช เชชเชฐเชฅเซ เชธเซเชชเชพเชฐเซเช เชตเชฟเชคเชฐเชฃ เชกเชพเชเชจเชฒเซเชก เชเชฐเซ:
wget "http://mirror.linux-ia64.org/apache/spark/spark-2.4.2/spark-2.4.2-bin-hadoop2.7.tgz"
เชเชฐเซเชเชพเชเชตเชจเซ เช เชจเชชเซ เช เชเชฐเซ:
sudo tar xvf spark-2.4.2/spark-2.4.2-bin-hadoop2.7.tgz -C /usr/local/spark
เชฌเซเชถ เชซเชพเชเชฒเชฎเชพเช เชธเซเชชเชพเชฐเซเชเชจเซ เชชเชพเชฅ เชเชฎเซเชฐเซ:
vim ~/.bashrc
เชธเชเชชเชพเชฆเช เชฆเซเชตเชพเชฐเชพ เชจเซเชเซเชจเซ เชฒเซเชเซเช เชเชฎเซเชฐเซ:
SPARK_HOME=/usr/local/spark
export PATH=$SPARK_HOME/bin:$PATH
bashrc เชฎเชพเช เชซเซเชฐเชซเชพเชฐเซ เชเชฐเซเชฏเชพ เชชเชเซ เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซ:
source ~/.bashrc
AWS PostgreSQL เชจเซ เชเชชเชฏเซเช
เชเซ เชฌเชพเชเซ เชเซ เชคเซ เชกเซเชเชพเชฌเซเชเชจเซ เชเชฎเชพเชตเชตเชพเชจเซเช เชเซ เชเซเชฎเชพเช เช เชฎเซ เชธเซเชเซเชฐเซเชฎเซเชธเชฎเชพเชเชฅเซ เชชเซเชฐเซเชธเซเชธ เชเชฐเซเชฒเซ เชฎเชพเชนเชฟเชคเซ เช เชชเชฒเซเชก เชเชฐเซเชถเซเช. เช เชฎเชพเชเซ เช เชฎเซ AWS RDS เชธเซเชตเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช.
AWS เชเชจเซเชธเซเชฒ เชชเชฐ เชเชพเช -> AWS RDS -> เชกเซเชเชพเชฌเซเชธเซเชธ -> เชกเซเชเชพเชฌเซเช เชฌเชจเชพเชตเซ:
PostgreSQL เชชเชธเชเชฆ เชเชฐเซ เช
เชจเซ เชเชเชณ เชเซเชฒเชฟเช เชเชฐเซ:
เชเชพเชฐเชฃ เชเซ เช เชเชฆเชพเชนเชฐเชฃ เชฎเชพเชคเซเชฐ เชถเซเชเซเชทเชฃเชฟเช เชนเซเชคเซเช เชฎเชพเชเซ เชเซ; เช
เชฎเซ "เชเชเชพเชฎเชพเช เชเชเชพ" (เชฎเชซเชค เชเชพเชฏเชฐ) เชฎเชซเชค เชธเชฐเซเชตเชฐเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช:
เชเชเชณ, เช
เชฎเซ เชซเซเชฐเซ เชเชพเชฏเชฐ เชฌเซเชฒเซเชเชฎเชพเช เชเช เชเชฟเช เชฎเซเชเซเช เชเซเช, เช
เชจเซ เชคเซ เชชเชเซ เช
เชฎเชจเซ เชเชชเชฎเซเชณเซ t2.micro เชเซเชฒเชพเชธเชจเซ เชฆเชพเชเชฒเซ เชเชซเชฐ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ - เชเซ เชเซ เชจเชฌเชณเชพ เชนเซเชตเชพ เชเชคเชพเช, เชคเซ เชฎเชซเชค เชเซ เช
เชจเซ เช
เชฎเชพเชฐเชพ เชเชพเชฐเซเชฏ เชฎเชพเชเซ เชเชเชฆเชฎ เชฏเซเชเซเชฏ เชเซ:
เชเชเชณ เชเซเชฌ เช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชฌเชพเชฌเชคเซ เชเชตเซ เชเซ: เชกเซเชเชพเชฌเซเช เชเชฆเชพเชนเชฐเชฃเชจเซเช เชจเชพเชฎ, เชฎเซเชเซเชฏ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเชจเซเช เชจเชพเชฎ เช
เชจเซ เชคเซเชจเซ เชชเชพเชธเชตเชฐเซเชก. เชเชพเชฒเซ เชฆเชพเชเชฒเชพเชจเซ เชจเชพเชฎ เชเชชเซเช: myHabrTest, เชฎเซเชเซเชฏ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ: habr, เชชเชพเชธเชตเชฐเซเชก: habr12345 เช
เชจเซ เชจเซเชเซเชธเซเช เชฌเชเชจ เชชเชฐ เชเซเชฒเชฟเช เชเชฐเซ:
เชเชเชฒเชพ เชชเซเชทเซเช เชชเชฐ เชฌเชนเชพเชฐเชฅเซ เช เชฎเชพเชฐเชพ เชกเซเชเชพเชฌเซเช เชธเชฐเซเชตเชฐเชจเซ เชธเซเชฒเชญเชคเชพ (เชเชพเชนเซเชฐ เชธเซเชฒเชญเชคเชพ) เช เชจเซ เชชเซเชฐเซเชเชจเซ เชเชชเชฒเชฌเซเชงเชคเชพ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชชเชฐเชฟเชฎเชพเชฃเซ เชเซ:
เชเชพเชฒเซ VPC เชธเซเชฐเชเซเชทเชพ เชเซเชฅ เชฎเชพเชเซ เชเช เชจเชตเซ เชธเซเชเชฟเชเช เชฌเชจเชพเชตเซเช, เชเซ เชชเซเชฐเซเช 5432 (PostgreSQL) เชฆเซเชตเชพเชฐเชพ เช
เชฎเชพเชฐเชพ เชกเซเชเชพเชฌเซเช เชธเชฐเซเชตเชฐเชจเซ เชฌเชพเชนเซเชฏ เชเชเซเชธเซเชธเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ.
เชเชพเชฒเซ เช
เชฒเช เชฌเซเชฐเชพเชเชเชฐ เชตเชฟเชจเซเชกเซเชฎเชพเช AWS เชเชจเซเชธเซเชฒ เชชเชฐ VPC เชกเซเชถเชฌเซเชฐเซเชก -> เชธเซเชฐเชเซเชทเชพ เชเซเชฅเซ -> เชธเซเชฐเชเซเชทเชพ เชเซเชฅ เชตเชฟเชญเชพเช เชฌเชจเชพเชตเซ:
เช
เชฎเซ เชธเซเชฐเชเซเชทเชพ เชเซเชฅ เชฎเชพเชเซ เชจเชพเชฎ เชธเซเช เชเชฐเซเชฏเซเช เชเซ - PostgreSQL, เชเช เชตเชฐเซเชฃเชจ, เชเซ เชฆเชฐเซเชถเชพเชตเซ เชเซ เชเซ เช เชเซเชฅ เชเชฏเชพ VPC เชธเชพเชฅเซ เชธเชเชเชณเชพเชฏเซเชฒเซเช เชนเซเชตเซเช เชเซเชเช เช
เชจเซ เชฌเชจเชพเชตเซ เชฌเชเชจเชจเซ เชเซเชฒเชฟเช เชเชฐเซ:
เชจเซเชเซเชจเชพ เชเชฟเชคเซเชฐเชฎเชพเช เชฌเชคเชพเชตเซเชฏเชพ เชชเซเชฐเชฎเชพเชฃเซ เชจเชตเชพ เชฌเชจเชพเชตเซเชฒเชพ เชเซเชฅ เชฎเชพเชเซ เชชเซเชฐเซเช 5432 เชฎเชพเชเซเชจเชพ เชเชจเชฌเชพเชเชจเซเชก เชจเชฟเชฏเชฎเซ เชญเชฐเซ. เชคเชฎเซ เชชเซเชฐเซเชเชจเซ เชฎเซเชจเซเชฏเซเช เชฒเซ เชธเซเชชเชทเซเช เชเชฐเซ เชถเชเชคเชพ เชจเชฅเซ, เชชเชฐเชเชคเซ เชชเซเชฐเชเชพเชฐ เชกเซเชฐเซเชช-เชกเชพเชเชจ เชธเซเชเชฟเชฎเชพเชเชฅเซ PostgreSQL เชชเชธเชเชฆ เชเชฐเซ.
เชเชกเช เชถเชฌเซเชฆเซเชฎเชพเช เชเชนเซเช เชคเซ, เชฎเซเชฒเซเชฏ ::/0 เชจเซ เช
เชฐเซเชฅ เชธเชฎเชเซเชฐ เชตเชฟเชถเซเชตเชฎเชพเชเชฅเซ เชธเชฐเซเชตเชฐ เชชเชฐ เชเชตเชคเชพ เชเซเชฐเชพเชซเชฟเชเชจเซ เชเชชเชฒเชฌเซเชงเชคเชพ เชเซ, เชเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชฐเซเชคเซ เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชธเชพเชเซเช เชจเชฅเซ, เชชเชฐเชเชคเซ เชเชฆเชพเชนเชฐเชฃเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเชตเชพ เชฎเชพเชเซ, เชเชพเชฒเซ เชเชชเชฃเซ เช เช
เชญเชฟเชเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเซเช:
เช
เชฎเซ เชฌเซเชฐเชพเชเชเชฐ เชชเซเชทเซเช เชชเชฐ เชชเชพเชเชพ เชซเชฐเซเช เชเซเช, เชเซเชฏเชพเช เช
เชฎเชพเชฐเซ เชชเชพเชธเซ "เช
เชฆเซเชฏเชคเชจ เชธเซเชเชฟเชเชเซเชธ เชเซเช เชตเซ" เชเซเชฒเซเชฒเซเช เชเซ เช
เชจเซ VPC เชธเซเชฐเชเซเชทเชพ เชเซเชฅเซ เชตเชฟเชญเชพเชเชฎเชพเช เชชเชธเชเชฆ เชเชฐเซ -> เชนเชพเชฒเชจเชพ VPC เชธเซเชฐเชเซเชทเชพ เชเซเชฅเซ เชชเชธเชเชฆ เชเชฐเซ -> PostgreSQL:
เชเชเชณ, เชกเซเชเชพเชฌเซเช เชตเชฟเชเชฒเซเชชเซเชฎเชพเช -> เชกเซเชเชพเชฌเซเช เชจเชพเชฎ -> เชจเชพเชฎ เชธเซเช เชเชฐเซ - habrDB.
เช
เชฎเซ เชกเชฟเชซเซเชฒเซเช เชฐเซเชชเซ, เชฌเซเชเช
เชช (เชฌเซเชเช
เชช เชฐเซเชเซเชจเซเชถเชจ เชชเซเชฐเชฟเชฏเชก - 0 เชฆเชฟเชตเชธ), เชฎเซเชจเชฟเชเชฐเชฟเชเช เช
เชจเซ เชชเซเชฐเชฆเชฐเซเชถเชจ เชเชเชคเชฐเชฆเซเชทเซเชเชฟเชจเซ เช
เชเซเชทเชฎ เชเชฐเชตเชพเชจเชพ เช
เชชเชตเชพเชฆ เชธเชฟเชตเชพเชฏ เชฌเชพเชเซเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ เชเซเชกเซ เชถเชเซเช เชเซเช. เชฌเชเชจ เชชเชฐ เชเซเชฒเชฟเช เชเชฐเซ เชกเซเชเชพเชฌเซเช เชฌเชจเชพเชตเซ:
เชฅเซเชฐเซเชก เชนเซเชจเซเชกเชฒเชฐ
เช เชเชคเชฟเชฎ เชคเชฌเชเซเชเซ เชธเซเชชเชพเชฐเซเช เชเซเชฌเชจเซ เชตเชฟเชเชพเชธ เชนเชถเซ, เชเซ เชฆเชฐ เชฌเซ เชธเซเชเชจเซเชกเซ เชเชพเชซเชเชพ เชคเชฐเชซเชฅเซ เชเชตเชคเชพ เชจเชตเชพ เชกเซเชเชพ เชชเชฐ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชถเซ เช เชจเซ เชชเชฐเชฟเชฃเชพเชฎ เชกเซเชเชพเชฌเซเชเชฎเชพเช เชฆเชพเชเชฒ เชเชฐเชถเซ.
เชเชชเชฐ เชจเซเชเชงเซเชฏเซเช เชเซ เชคเซเชฎ, เชเซเชเชชเซเชเชจเซเชเซเชธ เชธเซเชชเชพเชฐเซเชเชธเซเชเซเชฐเซเชฎเชฟเชเชเชฎเชพเช เชเช เชฎเซเชเซเชฏ เชชเชฆเซเชงเชคเชฟ เชเซ เชเซ เชฆเซเชท เชธเชนเชฟเชทเซเชฃเซเชคเชพเชจเซ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเช เชตเซเชฒ เชนเซเชตเซ เชเชตเชถเซเชฏเช เชเซ. เช เชฎเซ เชเซเชเชชเซเชเชจเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เช เชจเซ, เชเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชจเชฟเชทเซเชซเชณ เชเชพเชฏ, เชคเซ เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเช เชฎเซเชกเซเชฏเซเชฒเชจเซ เชซเชเซเชค เชเซเชฒเซเชฒเชพ เชเซเชเชชเซเชเชจเซเช เชชเชฐ เชชเชพเชเชพ เชซเชฐเชตเชพเชจเซ เช เชจเซ เชเซเชตเชพเชฏเซเชฒ เชกเซเชเชพเชจเซ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเซ เชคเซเชฎเชพเชเชฅเซ เชเชฃเชคเชฐเซเช เชซเชฐเซ เชถเชฐเซ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ.
เชเซเชเชชเซเชเชจเซเชเชฟเชเชเชจเซ เชเชพเชฎเซ-เชธเชนเชฟเชทเซเชฃเซ, เชตเชฟเชถเซเชตเชธเชจเซเชฏ เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎ (เชเซเชฎ เชเซ HDFS, S3, เชตเชเซเชฐเซ) เชชเชฐ เชกเชฟเชฐเซเชเซเชเชฐเซ เชธเซเช เชเชฐเซเชจเซ เชธเชเซเชทเชฎ เชเชฐเซ เชถเชเชพเชฏ เชเซ เชเซเชฎเชพเช เชเซเชเชชเซเชเชจเซเช เชฎเชพเชนเชฟเชคเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ. เชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ:
streamingContext.checkpoint(checkpointDirectory)
เช เชฎเชพเชฐเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเช, เช เชฎเซ เชจเซเชเซเชจเชพ เช เชญเชฟเชเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช, เชเชเชฒเซ เชเซ, เชเซ checkpointDirectory เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชเซ, เชคเซ เชชเชเซ เชธเชเชฆเชฐเซเชญ เชเซเชเชชเซเชเชจเซเช เชกเซเชเชพเชฎเชพเชเชฅเซ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ. เชเซ เชกเชฟเชฐเซเชเซเชเชฐเซ เช เชธเซเชคเชฟเชคเซเชตเชฎเชพเช เชจ เชนเซเชฏ (เชเชเชฒเซ โโโโเชเซ เชชเซเชฐเชฅเชฎ เชตเชเชค เชเชเซเชเชฟเชเซเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเซเชฏ), เชคเซ เชซเชเชเซเชถเชจToCreateContext เชจเซ เชจเชตเซ เชธเชเชฆเชฐเซเชญ เชฌเชจเชพเชตเชตเชพ เช เชจเซ DStreams เชจเซ เชเซเช เชตเชตเชพ เชฎเชพเชเซ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ:
from pyspark.streaming import StreamingContext
context = StreamingContext.getOrCreate(checkpointDirectory, functionToCreateContext)
เช เชฎเซ KafkaUtils เชฒเชพเชเชฌเซเชฐเซเชฐเซเชจเซ createDirectStream เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ "เชเซเชฐเชพเชจเซเชเซเชเซเชถเชจ" เชตเชฟเชทเชฏ เชธเชพเชฅเซ เชเซเชกเชพเชตเชพ เชฎเชพเชเซ เชกเชพเชฏเชฐเซเชเซเชเชธเซเชเซเชฐเซเชฎ เชเชฌเซเชเซเชเซเช เชฌเชจเชพเชตเซเช เชเซเช:
from pyspark.streaming.kafka import KafkaUtils
sc = SparkContext(conf=conf)
ssc = StreamingContext(sc, 2)
broker_list = 'localhost:9092'
topic = 'transaction'
directKafkaStream = KafkaUtils.createDirectStream(ssc,
[topic],
{"metadata.broker.list": broker_list})
JSON เชซเซเชฐเซเชฎเซเชเชฎเชพเช เชเชตเชจเชพเชฐเชพ เชกเซเชเชพเชจเซ เชชเชพเชฐเซเชธเชฟเชเช เชเชฐเซ:
rowRdd = rdd.map(lambda w: Row(branch=w['branch'],
currency=w['currency'],
amount=w['amount']))
testDataFrame = spark.createDataFrame(rowRdd)
testDataFrame.createOrReplaceTempView("treasury_stream")
เชธเซเชชเชพเชฐเซเช เชเชธเชเซเชฏเซเชเชฒเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เช เชฎเซ เชเช เชธเชฐเชณ เชเซเชฅ เชฌเชจเชพเชตเซเช เชเซเช เช เชจเซ เชชเชฐเชฟเชฃเชพเชฎ เชเชจเซเชธเซเชฒเชฎเชพเช เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชเชฐเซเช เชเซเช:
select
from_unixtime(unix_timestamp()) as curr_time,
t.branch as branch_name,
t.currency as currency_code,
sum(amount) as batch_value
from treasury_stream t
group by
t.branch,
t.currency
เชเซเชตเซเชฐเซ เชเซเชเซเชธเซเช เชฎเซเชณเชตเชตเซ เช เชจเซ เชคเซเชจเซ เชธเซเชชเชพเชฐเซเช เชเชธเชเซเชฏเซเชเชฒ เชฆเซเชตเชพเชฐเชพ เชเชฒเชพเชตเชตเซ:
sql_query = get_sql_query()
testResultDataFrame = spark.sql(sql_query)
testResultDataFrame.show(n=5)
เช เชจเซ เชชเชเซ เช เชฎเซ AWS RDS เชฎเชพเช เชเซเชทเซเชเชเชฎเชพเช เชชเชฐเชฟเชฃเชพเชฎเซ เชเชเชคเซเชฐเชฟเชค เชกเซเชเชพเชจเซ เชธเชพเชเชตเซเช เชเซเช. เชกเซเชเชพเชฌเซเช เชเซเชทเซเชเชเชฎเชพเช เชเชเชคเซเชฐเซเชเชฐเชฃ เชชเชฐเชฟเชฃเชพเชฎเซเชจเซ เชธเชพเชเชตเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชกเซเชเชพเชซเซเชฐเซเชฎ เชเชฌเซเชเซเชเซเชเชจเซ เชฒเชเชตเชพเชจเซ เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช:
testResultDataFrame.write
.format("jdbc")
.mode("append")
.option("driver", 'org.postgresql.Driver')
.option("url","jdbc:postgresql://myhabrtest.ciny8bykwxeg.us-east-1.rds.amazonaws.com:5432/habrDB")
.option("dbtable", "transaction_flow")
.option("user", "habr")
.option("password", "habr12345")
.save()
AWS RDS เชธเชพเชฅเซ เชเชจเซเชเซเชถเชจ เชธเซเช เชเชฐเชตเชพ เชตเชฟเชถเซ เชฅเซเชกเชพเช เชถเชฌเซเชฆเซ. เช เชฎเซ "AWS PostgreSQL เชเชฎเชพเชตเชตเซเช" เชธเซเชเซเชช เชชเชฐ เชคเซเชจเชพ เชฎเชพเชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เช เชจเซ เชชเชพเชธเชตเชฐเซเชก เชฌเชจเชพเชตเซเชฏเซ เชเซ. เชคเชฎเชพเชฐเซ เชกเซเชเชพเชฌเซเช เชธเชฐเซเชตเชฐ url เชคเชฐเซเชเซ เชเชจเซเชกเชชเซเชเชจเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชเซเชเช, เชเซ เชเชจเซเชเซเชเชฟเชตเชฟเชเซ เช เชจเซ เชธเซเชฐเชเซเชทเชพ เชตเชฟเชญเชพเชเชฎเชพเช เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เชเซ:
เชธเซเชชเชพเชฐเซเช เช เชจเซ เชเชพเชซเชเชพเชจเซ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเซเชกเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชฐเซเชเชฟเชซเซเชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ smark-เชธเชฌเชฎเชฟเช เชฆเซเชตเชพเชฐเชพ เชเซเชฌ เชเชฒเชพเชตเชตเซ เชเซเชเช. เชธเซเชชเชพเชฐเซเช-เชธเซเชเซเชฐเซเชฎเชฟเชเช-เชเชพเชซเซเชเชพ-0-8_2.11. เชตเชงเซเชฎเชพเช, เช เชฎเซ PostgreSQL เชกเซเชเชพเชฌเซเช เชธเชพเชฅเซ เชเซเชฐเชฟเชฏเชพเชชเซเชฐเชคเชฟเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชเชฟเชซเซเชเซเชเชจเซ เชชเชฃ เชเชชเชฏเซเช เชเชฐเซเชถเซเช; เช เชฎเซ เชคเซเชฎเชจเซ --packages เชฆเซเชตเชพเชฐเชพ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเซเชถเซเช.
เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชฒเชตเชเซเชเชคเชพ เชฎเชพเชเซ, เช เชฎเซ เชเชจเชชเซเช เชชเซเชฐเชพเชฎเซเชเชฐเซเชธ เชคเชฐเซเชเซ เชฎเซเชธเซเช เชธเชฐเซเชตเชฐเชจเซเช เชจเชพเชฎ เช เชจเซ เชคเซ เชตเชฟเชทเชฏ เชเซ เชเซเชฎเชพเชเชฅเซ เช เชฎเซ เชกเซเชเชพ เชชเซเชฐเชพเชชเซเชค เชเชฐเชตเชพ เชฎเชพเชเชเซเช เชเซเช เชคเซเชจเซ เชชเชฃ เชธเชฎเชพเชตเซเชถ เชเชฐเซเชถเซเช.
เชคเซเชฅเซ, เชธเชฟเชธเซเชเชฎเชจเซ เชเชพเชฐเซเชฏเชเซเชทเชฎเชคเชพเชจเซ เชฒเซเชเช เชเชฐเชตเชพเชจเซ เช เชจเซ เชคเชชเชพเชธเชตเชพเชจเซ เช เชธเชฎเชฏ เชเซ:
spark-submit
--packages org.apache.spark:spark-streaming-kafka-0-8_2.11:2.0.2,
org.postgresql:postgresql:9.4.1207
spark_job.py localhost:9092 transaction
เชฌเชงเซเช เชเชพเชฎ เชเชฐเซเชฏเซเช! เชเซเชฎ เชคเชฎเซ เชจเซเชเซเชจเชพ เชเชฟเชคเซเชฐเชฎเชพเช เชเซเช เชถเชเซ เชเซ, เชเซเชฏเชพเชฐเซ เชเชชเซเชฒเชฟเชเซเชถเชจ เชเชพเชฒเซ เชฐเชนเซ เชนเซเชฏ, เชคเซเชฏเชพเชฐเซ เชจเชตเชพ เชเชเชคเซเชฐเซเชเชฐเชฃ เชชเชฐเชฟเชฃเชพเชฎเซ เชฆเชฐ 2 เชธเซเชเชจเซเชกเซ เชเชเชเชชเซเช เชฅเชพเชฏ เชเซ, เชเชพเชฐเชฃ เชเซ เชเซเชฏเชพเชฐเซ เช เชฎเซ StreamingContext เชเชฌเซเชเซเชเซเช เชฌเชจเชพเชตเซเชฏเซเช เชคเซเชฏเชพเชฐเซ เช เชฎเซ เชฌเซเชเชฟเชเช เช เชเชคเชฐเชพเชฒเชจเซ 2 เชธเซเชเชจเซเชก เชชเชฐ เชธเซเช เชเชฐเซเช เชเซเช:
เชเชเชณ, เช เชฎเซ เชเซเชทเซเชเชเชฎเชพเช เชฐเซเชเซเชฐเซเชกเชจเซ เชนเชพเชเชฐเซ เชคเชชเชพเชธเชตเชพ เชฎเชพเชเซ เชกเซเชเชพเชฌเซเชเชฎเชพเช เชเช เชธเชฐเชณ เชเซเชตเซเชฐเซ เชเชฐเซเช เชเซเช เชตเซเชฏเชตเชนเชพเชฐ_เชชเซเชฐเชตเชพเชน:
เชจเชฟเชทเซเชเชฐเซเชท
เช เชฒเซเช เช เชชเชพเชเซ เชเชพเชซเชเชพ เช เชจเซ เชชเซเชธเซเชเชเซเชฐเซเชเชธเชเซเชฏเซเชเชฒ เชธเชพเชฅเซ เชเซเชกเชพเชฃเชฎเชพเช เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฎเชพเชนเชฟเชคเซเชจเชพ เชธเซเชเซเชฐเซเชฎ เชชเซเชฐเซเชธเซเชธเชฟเชเชเชจเชพ เชเชฆเชพเชนเชฐเชฃ เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซ เชเซ. เชตเชฟเชตเชฟเชง เชธเซเชคเซเชฐเซเชคเซเชฎเชพเชเชฅเซ เชกเซเชเชพเชจเซ เชตเซเชฆเซเชงเชฟ เชธเชพเชฅเซ, เชธเซเชเซเชฐเซเชฎเชฟเชเช เช เชจเซ เชฐเซเช เชฒ-เชเชพเชเชฎ เชเชชเซเชฒเชฟเชเซเชถเชจเซเชธ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชธเซเชชเชพเชฐเซเช เชธเซเชเซเชฐเซเชฎเชฟเชเชเชจเชพ เชตเซเชฏเชตเชนเชพเชฐเชฟเช เชฎเซเชฒเซเชฏเชจเซ เชตเชงเซ เชชเชกเชคเซ เช เชเชฆเชพเช เชเชพเชขเชตเซ เชฎเซเชถเซเชเซเชฒ เชเซ.
เชคเชฎเซ เชฎเชพเชฐเชพ เชฐเซเชชเซเชเซเชเชฐเซเชฎเชพเช เชธเชเชชเซเชฐเซเชฃ เชธเซเชคเซเชฐเซเชค เชเซเชก เช
เชนเซเชเชฅเซ เชฎเซเชณเชตเซ เชถเชเซ เชเซ
เชนเซเช เช เชฒเซเชเชจเซ เชเชฐเซเชเชพ เชเชฐเชตเชพเชฎเชพเช เชเซเชถ เชเซเช, เชนเซเช เชคเชฎเชพเชฐเซ เชเชฟเชชเซเชชเชฃเซเชเชจเซ เชฐเชพเชน เชเซเชเช เชเซเช, เช เชจเซ เชนเซเช เชฌเชงเชพ เชเชพเชณเชเซ เชฐเชพเชเชจเชพเชฐเชพ เชตเชพเชเชเซ เชคเชฐเชซเชฅเซ เชฐเชเชจเชพเชคเซเชฎเช เชเซเชเชพเชจเซ เชชเชฃ เชเชถเชพ เชฐเชพเชเซเช เชเซเช.
เชนเซเช เชคเชฎเชจเซ เชธเชซเชณเชคเชพเชจเซ เชเชเซเชเชพ เชเชฐเซเช เชเซเช!
เชเซเชค. เชถเชฐเซเชเชคเชฎเชพเช เชธเซเชฅเชพเชจเชฟเช PostgreSQL เชกเซเชเชพเชฌเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซเช เชเชฏเซเชเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช, เชชเชฐเชเชคเซ AWS เชชเซเชฐเชคเซเชฏเซเชจเชพ เชฎเชพเชฐเชพ เชชเซเชฐเซเชฎเชจเซ เชเซเชคเชพเช, เชฎเซเช เชกเซเชเชพเชฌเซเชเชจเซ เชเซเชฒเชพเชเชก เชชเชฐ เชเชธเซเชกเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเซเชฏเซเช. เช เชตเชฟเชทเชฏ เชชเชฐเชจเชพ เชเชเชฒเชพ เชฒเซเชเชฎเชพเช, เชนเซเช AWS เชฎเชพเช เชเชชเชฐ เชตเชฐเซเชฃเชตเซเชฒ เชธเชฎเชเซเชฐ เชธเชฟเชธเซเชเชฎเชจเซ AWS Kinesis เช
เชจเซ AWS EMR เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชตเซ เชฐเซเชคเซ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชตเซ เชคเซ เชฌเชคเชพเชตเซเชถ. เชธเชฎเชพเชเชพเชฐ เช
เชจเซเชธเชฐเซ!
เชธเซเชฐเซเชธ: www.habr.com