python - 如何使用 Apache Spark 仅流式传输文件的一部分
问题描述
我正在尝试将 Spark Streaming 和 Spark SQL 与 Python API 一起使用。
我有一个不断编辑的文件,每随机 N 秒添加一些行。
该文件可以是 JSON、XML、CSV 或 TXT,甚至是 SQL 表:我完全可以根据自己的情况自由选择最佳解决方案。
我有一定数量的字段,大约 4-5 个。以此表为例:
+-------+------+-------+--------------------+
| event | id | alert | datetime |
+-------+------+-------+--------------------+
| reg | 1 | def1 | 06.06.17-17.24.30 |
+-------+------+-------+--------------------+
| alt | 2 | def2 | 06.06.17-17.25.11 |
+-------+------+-------+--------------------+
| mot | 3 | def5 | 06.06.17-17.26.01 |
+-------+------+-------+--------------------+
| mot | 4 | def5 | 06.06.17-17.26.01 |
+-------+------+-------+--------------------+
我只想用 Spark Streaming 流式传输新行。所以,如果我添加了 2 个新行,下次我只想流式传输这两行而不是整个文件(已经流式传输)
此外,我想在每次找到新行时过滤或计算整个同一个文件的 Spark SQL 查询。例如,我想选择"mot"
仅在 10 分钟内出现两次的事件,并且每次文件更改和新数据到达时都必须重做此查询。
Spark Streaming 和 Spark SQL 可以处理这些情况吗?如何?
解决方案
推荐阅读
- php - 如何在不同域中使用的 iframe 中保持登录状态?
- react-native - 如何获取当前导航状态 react-navigation V4 React-Native
- ios - 文件上传不在 React Native iOS 中上传,同样在 android 平台上工作
- gitlab-ci - 有没有办法将 GitLab“管道成功时合并”与 Review 应用程序(需要自动停止作业)一起使用?
- c# - 在将数据插入 Cosmos DB 之前修改数据
- azure-devops - Azure Devops 管道 pytest 收集失败 ModuleNotFoundError: No module named
- security - 与 WASM 相关的安全风险是什么?
- mysql - 获取所有常规数据,并检索隐私数据(如果具有值的列与所需参数匹配,则适用)在 MySQL 中
- html - 活动类不会更改为引导程序中导航栏的项目
- oracle - 执行视图时出错:函数计数在 denodo 中不可执行