예제 #1
0
    def test_invalid_get_time_expression_arguments(self):
        with self.assertRaises(NotImplementedError):
            PinotEngineSpec.get_timestamp_expr(column("tstamp"), None, "P1M")

        with self.assertRaises(NotImplementedError):
            PinotEngineSpec.get_timestamp_expr(column("tstamp"), "epoch_s",
                                               "invalid_grain")
예제 #2
0
 def test_pinot_time_expression_sec_one_1m_grain(self):
     col = column("tstamp")
     expr = PinotEngineSpec.get_timestamp_expr(col, "epoch_s", "P1M")
     result = str(expr.compile())
     self.assertEqual(
         result, "DATETRUNC('month', tstamp, 'SECONDS')",
     )  # noqa
 def test_pinot_time_expression_sec_1m_grain(self):
     col = column("tstamp")
     expr = PinotEngineSpec.get_timestamp_expr(col, "epoch_s", "P1M")
     result = str(expr.compile())
     self.assertEqual(
         result,
         'DATETIMECONVERT(tstamp, "1:SECONDS:EPOCH", "1:SECONDS:EPOCH", "1:MONTHS")',
     )  # noqa
예제 #4
0
 def test_pinot_time_expression_sec_one_1d_grain(self):
     col = column("tstamp")
     expr = PinotEngineSpec.get_timestamp_expr(col, "epoch_s", "P1D")
     result = str(expr.compile())
     self.assertEqual(
         result,
         "DATETIMECONVERT(tstamp, '1:SECONDS:EPOCH', '1:SECONDS:EPOCH', '1:DAYS')",
     )  # noqa
예제 #5
0
 def test_pinot_time_expression_simple_date_format_1w_grain(self):
     col = column("tstamp")
     expr = PinotEngineSpec.get_timestamp_expr(col, "%Y-%m-%d %H:%M:%S",
                                               "P1W")
     result = str(expr.compile())
     self.assertEqual(
         result,
         ("ToDateTime(DATETRUNC('week', FromDateTime(tstamp, " +
          "'yyyy-MM-dd HH:mm:ss'), 'MILLISECONDS'), 'yyyy-MM-dd HH:mm:ss')"
          ),
     )
예제 #6
0
 def test_pinot_time_expression_simple_date_format_1d_grain(self):
     col = column("tstamp")
     expr = PinotEngineSpec.get_timestamp_expr(col, "%Y-%m-%d %H:%M:%S",
                                               "P1D")
     result = str(expr.compile())
     self.assertEqual(
         result,
         ("DATETIMECONVERT(tstamp, " +
          "'1:SECONDS:SIMPLE_DATE_FORMAT:yyyy-MM-dd HH:mm:ss', " +
          "'1:SECONDS:SIMPLE_DATE_FORMAT:yyyy-MM-dd HH:mm:ss', '1:DAYS')"),
     )