当前位置: 首页 > 知识库问答 >
问题:

配置SQL-在多个分区之间

叶书
2023-03-14

我有一张按年、月、日划分的蜂巢表

CREATE TABLE t1 (
...
 )
PARTITIONED BY (
year INT,
month INT,
day INT'
)
STORED AS PARQUET;
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
val runDate = date
val runDay = LocalDate.parse(runDate.toString, formatter)
val runDayMinus7 = runDay.minusDays(7)

共有1个答案

林冥夜
2023-03-14

我创建了next方法来解决这个问题。两个参数,日期和天数

  def dayFilter(date: LocalDate, days: Int): Column = {
   days match {
    case _ if days < 0 => lit(false)
    case 0 => (col("year") === date.getYear and
     col("month") === date.getMonthValue and
     col("day") === date.getDayOfMonth)
    case _ => (col("year") === date.getYear and
     col("month") === date.getMonthValue and
     col("day") === date.getDayOfMonth) or dayFilter(date.minusDays(1), days - 1)
   }
 }

如果我们导入Java LocalDate,那么我们需要GetMonthValue。以防万一,我们使用joda.time然后getMonthOfYear

 类似资料:
  • 非常感谢任何帮助。

  • 问题内容: 有没有比以下更有效的方法: 问题答案: 在查询中使用PARTITION(partitionN)语法应该非常少见。 通常,您只想为分区键指定值,并允许Oracle执行分区消除。例如,如果您的表每天根据TRANSACTION_DATE进行分区 将从今天的分区,昨天的分区和前一天的分区中选择所有数据。

  • 一个executor在Spark中可以容纳多少个分区? 如何在执行程序之间分配分区(机制)? 如何设置分区的大小。想知道相关的config参数。 executor是否将所有分区存储在内存中?如果不是,当溢出到磁盘时,它是溢出整个分区到磁盘还是部分分区到磁盘?5当每个执行器有2个内核,但执行器中有5个分区时

  • 我已经在c中创建了kafka消费者,并创建了一个具有10个分区的主题,当我尝试使用消费者读取数据时,它仅从2个分区读取,然后说没有更多的消息。我尝试使用这两种方法,即订阅和分配,但它们都不起作用。我应该如何将所有10个分区分配给单个使用者,这是将分区分配给使用者的正确方法吗?我已经使用此存储库构建了自定义消费者 https://github.com/edenhill/librdkafka/blob

  • 我遇到了JENKINS-38706。由于它已经开放了一段时间,我正在努力解决这个问题。 我的问题是我正在运行一个多节点管道,其中一个节点是Windows从节点,具有255个字符路径限制。 因此,我正在尝试更改我的Windows从属阶段的工作区,而不是使用多分支管道使用的C:\jenkins\workspace\job-分支-随机字符,我正在尝试将其移动到c:\w\Jobs\分支。 它立即失效: 我

  • 问题内容: 我有一个MS Access数据库,我将需要创建一个SQL查询,该查询使我可以在保留所有值的同时,在一列中选择所有不同的条目。 在这种情况下,一个例子比以往任何时候都更有价值数千个单词: 表: SQL魔术 结果: 基本上,它删除列B的所有唯一值,但保留数据的多行。我可以“按b分组”,然后“计数> 1”以得到不同的字符,但是结果将只列出B的一行,而不是我需要的2或更多行。 有什么帮助吗?