class_docstr: A ParquetVectorizedInputFormat to provide RowData iterator. Using ColumnarRowData to
  provide a row view of column batch. Only **primitive** types are supported for a column,
  composite types such as array, map are not supported.
  
  Example:
  ::
  
      >>> row_type = DataTypes.ROW([
      ...     DataTypes.FIELD('a', DataTypes.INT()),
      ...     DataTypes.FIELD('b', DataTypes.STRING()),
      ... ])
      >>> source = FileSource.for_bulk_file_format(ParquetColumnarRowInputFormat(
      ...     row_type=row_type,
      ...     hadoop_config=Configuration(),
      ...     batch_size=2048,
      ...     is_utc_timestamp=False,
      ...     is_case_sensitive=True,
      ... ), PARQUET_FILE_PATH).build()
      >>> ds = env.from_source(source, WatermarkStrategy.no_watermarks(), "parquet-source")
  
  .. versionadded:: 1.16.0
class_docstr_tok: ["A","ParquetVectorizedInputFormat","to","provide","RowData","iterator",".","Using","ColumnarRowData","to","provide","a","row","view","of","column","batch",".","Only","*","*","primitive","*","*","types","are","supported","for","a","column",",","composite","types","such","as","array",",","map","are","not","supported",".","Example",":",":",":",">",">",">","row_type","=","DataTypes.ROW","(","[","...","DataTypes.FIELD","(","'","a","'",",","DataTypes.INT","(",")",")",",","...","DataTypes.FIELD","(","'","b","'",",","DataTypes.STRING","(",")",")",",","...","]",")",">",">",">","source","=","FileSource.for_bulk_file_format","(","ParquetColumnarRowInputFormat","(","...","row_type=row_type",",","...","hadoop_config=Configuration","(",")",",","...","batch_size=2048",",","...","is_utc_timestamp=False",",","...","is_case_sensitive=True",",","...",")",",","PARQUET_FILE_PATH",")",".build","(",")",">",">",">","ds","=","env.from_source","(","source",",","WatermarkStrategy.no_watermarks","(",")",",","``","parquet-source","''",")","..","versionadded",":",":","1.16.0"]
code: def __init__(
      self,
      row_type: "RowType",
      hadoop_config: Optional[Configuration] = None,
      batch_size: int = 2048,
      is_utc_timestamp: bool = False,
      is_case_sensitive: bool = True,
  ):
      if not hadoop_config:
          hadoop_config = Configuration()
  
      from pyflink.table.types import _to_java_data_type
  
      jvm = get_gateway().jvm
      j_row_type = _to_java_data_type(row_type).getLogicalType()
      produced_type_info = jvm.org.apache.flink.table.runtime.typeutils.InternalTypeInfo.of(
          j_row_type
      )
      j_parquet_columnar_format = jvm.org.apache.flink.formats.parquet.ParquetColumnarRowInputFormat(
          create_hadoop_configuration(hadoop_config),
          j_row_type,
          produced_type_info,
          batch_size,
          is_utc_timestamp,
          is_case_sensitive,
      )
      super().__init__(j_parquet_columnar_format)
  
file_path: flink/flink-python/pyflink/datastream/formats/parquet.py
imports: from typing import Optional, TYPE_CHECKING
  from pyflink.common import Configuration
  from pyflink.common.serialization import BulkWriterFactory, RowDataBulkWriterFactory
  from pyflink.datastream.connectors.file_system import StreamFormat, BulkFormat
  from pyflink.datastream.formats.avro import AvroSchema
  from pyflink.datastream.utils import create_hadoop_configuration
  from pyflink.java_gateway import get_gateway
label_desc: Use image node_id 1 to create a new ParquetColumnarRowInputFormat object from inherited base classes: BulkFormat with example: obj = ParquetColumnarRowInputFormat(row_type, hadoop_config, batch_size, is_utc_timestamp, is_case_sensitive)