Spark ガンマン
Spark 版ガンマンです。
databricks
(無料のCommunity Edition)で実験。
databricksのSparkスクリプト(python)
Twitter のトレンドワードをKafka経由で取得し、
Spark で RDD にして(parallelize)、
mapとsort で時刻情報だけのRDDに成形し、
reduceで最新時刻を取得し、
ガンマン時計を表示します。
※databricksは、Sparkクラウドサービスで、
スクリプトを記述して、Shift+Enterで実行ができる。
databricks での実行結果
========================================================================================= (1) request to produce Kafka message request to produce Kafka message... [https://gunclocks-rails.herokuapp.com/gunclocks/tweet] wait for Kafka message... kafka message received. ========================================================================================= (2) listing as csvdata -------------------------------------------------------------------------------- 0,0005,2017-08-05 13:25:40 +0000,1324nk,宮城の花火大会テロみたいになってんのウケる
,2,4867 1,0009,2017-08-05 13:25:40 +0000,minorie10,RT @_amatsuki_: 本日はStars on planet神戸公演!
これから昼の部!
本日で今年のスタプラはファイナル!
盛大に打ち上がりたい!神戸も花火大会だし!
そのまま綺麗に散って灰となり風に乗り、大地に還ります!ありがとうございます!
よろしくねーー!!…
,3,4808 2,0001,2017-08-05 13:25:41 +0000,m_y_120131,どあああああ
バイト疲れたああああああ
明日は玉野花火大会やああああ
えれええええええええ
,0,4902 3,0003,2017-08-05 13:25:41 +0000,puni8puni885,【淀川花火大会影響】梅田駅が人多すぎて地獄絵図に・・カオスすぎる現場光景がこちら(画像) https://t.co/RloRHneE0T
,0,4903 4,0004,2017-08-05 13:25:40 +0000,fly_omelet,手賀沼も日立台も花火大会だったわ https://t.co/X3bbR5EwK2
,0,4904 5,0010,2017-08-05 13:25:40 +0000,Cain_LOVEs_Rika,RT @BCopine: ・
・
ワクワク♡
・
#けずりイチゴ美味しすぎる!
#花火#夏#いちご @ いたばし花火大会 https://t.co/1PF5YYidjX
,0,4905 6,0002,2017-08-05 13:25:41 +0000,koma1001koma,RT @ryunosukeguitar: 【拡散希望】
8/5は、淀川の花火大会いうことで
約1時間でオリジナルを作ってみました🎇
「甘いラムネは恋の味🎐」
甘酸っぱい、切ない曲になりました
是非聴いてみてください😊 https://t.co/kM3ySe0n5B
,4,4865 7,0006,2017-08-05 13:25:40 +0000,hrk00107,@unchicchi01 😆名前:
📷写真撮れるか:
💭彼氏彼女いそう?:
💗好きor嫌い:
🌹付き合えるか:
💙通話できる?:
👘花火大会行ける?:
🐷家族にするとしたら:
いいね押したらやります!😁
,4,4866 8,0007,2017-08-05 13:25:40 +0000,aoi_satogo,RT @sivaeri: 沼津夏まつり・狩野川花火大会お疲れ様でした!
ってことで浴衣ルビィちゃん!!
ほんとうに素敵なイベントでした…😇
未熟DREAMERは本当に感動しました
ふりりんの浴衣と髪型がめちゃくちゃかわいかったので
ルビィちゃんで再現を🍭
(2ndでプレボに突…
,1,4893 9,0008,2017-08-05 13:25:40 +0000,Akabudou100,@kuniponnnnn あー、そっちの花火大会あったらしいね
岡山もあったし
,1,4894 -------------------------------------------------------------------------------- ========================================================================================= (3) create RDD from csvdata [python] rdd = sc.parallelize(csvdata).map(lambda line: line.split(","))) [result: rdd] -------------------------------------------------------------------------------- #, seq, dateTime, user-id, tweet-message, partition, offset -------------------------------------------------------------------------------- 0, 0005, 2017-08-05 13:25:40 +0000, 1324nk, 宮城の花火大会テロみたいになってんのウケ..., 2, 4867 1, 0009, 2017-08-05 13:25:40 +0000, minorie10, RT @_amatsuki_: 本日はS..., 3, 4808 2, 0001, 2017-08-05 13:25:41 +0000, m_y_120131, どあああああ
バイト疲れたあああ..., 0, 4902 3, 0003, 2017-08-05 13:25:41 +0000, puni8puni885, 【淀川花火大会影響】梅田駅が人多すぎて地..., 0, 4903 4, 0004, 2017-08-05 13:25:40 +0000, fly_omelet, 手賀沼も日立台も花火大会だったわ htt..., 0, 4904 5, 0010, 2017-08-05 13:25:40 +0000, Cain_LOVEs_Rika, RT @BCopine: ・
・<..., 0, 4905 6, 0002, 2017-08-05 13:25:41 +0000, koma1001koma, RT @ryunosukeguitar:..., 4, 4865 7, 0006, 2017-08-05 13:25:40 +0000, hrk00107, @unchicchi01 😆名前:
バイト疲れたあああ... 6, 0002, 4, 4865, 2017-08-05 13:25:41 +0000, koma1001koma, RT @ryunosukeguitar:... 3, 0003, 0, 4903, 2017-08-05 13:25:41 +0000, puni8puni885, 【淀川花火大会影響】梅田駅が人多すぎて地... 4, 0004, 0, 4904, 2017-08-05 13:25:40 +0000, fly_omelet, 手賀沼も日立台も花火大会だったわ htt... 0, 0005, 2, 4867, 2017-08-05 13:25:40 +0000, 1324nk, 宮城の花火大会テロみたいになってんのウケ... 7, 0006, 4, 4866, 2017-08-05 13:25:40 +0000, hrk00107, @unchicchi01 😆名前:
・<... -------------------------------------------------------------------------------- ========================================================================================= (5) map(select column) [python] rdd_time = rdd2.map(lambda d: d[4]) [result: rdd_time] -------------------------------------------------------------------------------- dateTime -------------------------------------------------------------------------------- 2017-08-05 13:25:41 +0000 2017-08-05 13:25:41 +0000 2017-08-05 13:25:41 +0000 2017-08-05 13:25:40 +0000 2017-08-05 13:25:40 +0000 2017-08-05 13:25:40 +0000 2017-08-05 13:25:40 +0000 2017-08-05 13:25:40 +0000 2017-08-05 13:25:40 +0000 2017-08-05 13:25:40 +0000 -------------------------------------------------------------------------------- ========================================================================================= (6) reduce (compareTime) [python] ------------------------------------- def compareTime( t1, t2 ): if ( t1 > t2 ): return t1 else: return t2 guessedCurrentTime = rdd_time.reduce(compareTime) ------------------------------------- [result: guessedCurrentTime] -------------------------------------------------------------------------------- 2017-08-05 13:25:41 +0000 -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- 2017-08-05 22:25:41+09:00 [JST] -------------------------------------------------------------------------------- ========================================================================================= (7) GunClock -------------------------------------------------------------------------------- 12 + + __ _|__|_ _______ b (@@) |22:25| + V|~~|> ~~~~~~~ //T| ::: ::: 9 :: 3 ## ## ## + __AA + | 6 |__P ~~| l + /_/~l_l 6 --------------------------------------------------------------------------------
■ワーク
databricks
DashBoard
presented DashBoard
Twitter->Kafka
[
ガンマンのページへ戻る
]