class_docstr: A group window specification.
  
  Group windows group rows based on time or row-count intervals and is therefore essentially a
  special type of groupBy. Just like groupBy, group windows allow to compute aggregates
  on groups of elements.
  
  Infinite streaming tables can only be grouped into time or row intervals. Hence window
  grouping is required to apply aggregations on streaming tables.
  
  For finite batch tables, group windows provide shortcuts for time-based groupBy.
class_docstr_tok: ["A","group","window","specification",".","Group","windows","group","rows","based","on","time","or","row-count","intervals","and","is","therefore","essentially","a","special","type","of","groupBy",".","Just","like","groupBy",",","group","windows","allow","to","compute","aggregates","on","groups","of","elements",".","Infinite","streaming","tables","can","only","be","grouped","into","time","or","row","intervals",".","Hence","window","grouping","is","required","to","apply","aggregations","on","streaming","tables",".","For","finite","batch","tables",",","group","windows","provide","shortcuts","for","time-based","groupBy","."]
code: def __init__(self, java_window):
      self._java_window = java_window
  
imports: from py4j.java_gateway import get_method
  from pyflink.java_gateway import get_gateway
  from pyflink.table import Expression
  from pyflink.table.expression import _get_java_expression
  from pyflink.table.utils import to_expression_jarray
label_desc: Use image node_id 1 to create a new GroupWindow object from inherited base classes: object with example: obj = GroupWindow(java_window)