从零开始实施推荐系统的落地部署——36.推荐系统案例(二十六)解决DLV的请求响应体过长和python连接kafka无数据问题

举报
wuyicom 发表于 2021/04/30 02:41:51 2021/04/30
【摘要】     1.在华为云数据可视化DLV里,使用WT双轴线状图时,刚开始,显示数据化展示没有问题,等过了1—2天,出现异常。但是经查询发现mysql里的数据没有问题,考虑的是不是基础版的存储空间不够的原因,但是在文档找不到如何查询DLV的存储空间。只能提交工单,经华为云研发工程师确认,DLV查询请求返回的数据总大小是有限制的。控制的是每个请求响应体的长度,不是从数据条数限制的。而且跟DLV版本的...

1.png

    1.在华为云数据可视化DLV里,使用WT双轴线状图时,刚开始,显示数据化展示没有问题,等过了12天,出现异常。但是经查询发现mysql里的数据没有问题,考虑的是不是基础版的存储空间不够的原因,但是在文档找不到如何查询DLV的存储空间。只能提交工单,经华为云研发工程师确认,DLV查询请求返回的数据总大小是有限制的。控制的是每个请求响应体的长度,不是从数据条数限制的。而且跟DLV版本的无关。而采集的数据是股市交易在4小时里每3秒在获取一次数据,2天内获取9千多条数据。做展示的每3秒显示的效果图会导致请求项议题长度过长而无法获取数据。根据推算,1分钟有20条数据,1个小时就有20*60等于1200条数据,4小时的数据为4800条。所以解决的办法有2种:(1)统计每天的平均交易额度,这样能把4800条数据合为一条数据,这样就减少请求响应体长度,可展示2030年的数据展示。但是有缺点是无法很好展示当天的变化效果图。如左下图所示(2)不需要减少响应体长度,只要控制时间范围设置为一天,缺点是只能显示当天的一天数据可视化效果图。如右上图所示。

2.png

    2.现在有很多大数据的案例都是根据javascala开发的,但是我想统一使用python来开发,之前选用python-kafka的第三方库在虚拟机上测试把数据写入到kafka,运行正常,没有报错。但是在kafka的消费端无数据。已经测试过kafka,确保kafka运行没有问题。

from kafka import KafkaProducer

producer = KafkaProducer(bootstrap_servers='192.168.56.112:9092',key_serializer=str.encode)

producer.send('test',da5)

3.png

    在找不到原因的情况下,只好使用pykafka把数据写入到kafka消费端。代码如下:

class operateKafka:

    def __init__(self):

        myhosts = "kafka1.wuyi.com:9092"

        client = KafkaClient(hosts=myhosts)                        

        self.topic = client.topics['test']

在使用命令查看消费之前产生的数据./kafka-console-consumer.sh --bootstrap-server kafka1.wuyi.com:9092 --topic share --from-beginning

4.png

    总结一下,虽然使用华为云的数据可视DLV制作大屏展示比较容易,而且不需要像flask等那样搭建网站,使用图表功能只要拖拽到指定的页面,通过简单的设置就可以做出漂亮的数据可视图表。但是我们还是要注意一下,它的请求响应体的长度不能过长,否则不能获取数据做展示。对于使用python连接kafka,但遇到像python-kafka那样找不到原因,那么就需要变通思维,换一种方式去解决。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。