案例:股票交易实时仪表盘程序

下面通过一个示例“为证券公司建立股票仪表盘程序”,来说明编写Spark结构化流应用程序的步骤。

在这个示例中,数据源是证券公司实时发布的市场交易数据,比如证券、股票等的买卖。我们现在需要构建一个实时仪表板应用程序,用来实现回答以下问题:

  • 计算每10秒钟的销售和购买订单数量;
  • 根据购买或出售的总金额来统计前5个客户;
  • 找出过去一个小时内前5个交易量最多的股票。

数据集说明

在PBLP平台的~/data/spark/stream/目录下,我们准备了一个文件orders.txt,它包含500,000行股票交易数据,每行代表一个买/卖订单。每一行包含如下用逗号分隔的元素:

  • ■ Order时间戳 — 格式为yyyy-mm-dd hh:MM:ss
  • ■ Order ID — 连续递增的整数
  • ■ Client ID — 从1到100的范围的整数
  • ■ Stock代码 — 共80个股票代码
  • ■ 股票买卖的数量 — 从1到1000
  • ■ 股票买卖的价格 — 从1到100
  • ■ 字符B 或 S — 代表一个订单的买(B)/卖(S)事件

可以使用如下命令查看文件的前5行内容:

$ head -n 5 ~/data/spark/stream/orders.txt

内容如下所示:

2016- ......
          

......

抱歉,只有登录会员才可浏览!会员登录


《PySpark原理深入与编程实战》