apache-spark - 对非工作日(周末和节假日)未生成的缺失数据进行 Hive 查询操作
问题描述
我有一个关于在下面定义的要求中调整我的 Hive 查询的查询;对此我无法理解。
案例:数据仅在工作日生成,即工作日和非节假日。我在 Hive 中加载的这些数据。源和目标都是 HDFS。
严格的过程:每天都应该复制数据。因此,对于周六和周日,我将复制周五的相同数据。公共假期也是如此。
当前流程:到目前为止,我正在手动执行它以加载周末的数据。
要求:我需要在查询本身中自动执行此操作。
有什么建议么?如果可行的话,同样欢迎使用 spark 的解决方案。
解决方案
虽然很清楚问题是什么,但当您说“在查询本身中”时还不清楚。
两种选择
查询结果时,使用标量子查询(使用 Impala)查找数据,该查询首先查找相对于给定选择日期的最大日期,即最大小于或等于给定选择日期;因此没有复制。
否则,使用调度和调度时 a) 通过 Linux 或 SQL 检查周末日期 b) 维护假期日期表并检查是否存在。如果其中一个或两个条件都为真,则根据项目符号 1 从现有数据复制,其中选择日期是今天,否则进行常规处理。
请注意,由于某些错误,您可能需要假设您正在运行处理以赶上进度。隐含一些控制逻辑,但更健壮。
推荐阅读
- azure - 为什么 Azure OCR 代码不会循环通过媒体?
- rrdtool - rrdcgi 双图问题: Unable to connect to rrdcached: Permission denied
- recursion - 为什么我的 Prolog S 表达式标记器在其基本情况下失败?
- azure - AzureDevops 任务名称 NuGetCommand 不明确
- python - 没有特定实例化的 Python 类中的列表和字典被设置为不正确的值
- python - 使用 Oracle 数据库的 Pandas 和 SQLAlchemy 的 Unicode 问题
- reactjs - 使用 axios 获取 API 失败
- python - 更改字符串中的每个位置以查找所有可能的组合
- javascript - Adobe Reader 上的无效签名:“签名者的身份尚未验证”
- ubuntu - 如何调试我的 Tex 安装以使 XeLatex 可以在 Ubuntu 20.04 上运行?