class_docstr: ORCIODataset
code: def __init__(self, filename, columns=None, internal=True, **kwargs):
      if not internal:
          raise ValueError(
              "ORCIODataset constructor is private; please use one "
              "of the factory methods instead (e.g., "
              "IODataset.from_orc())"
          )
      with tf.name_scope("ORCIODataset") as scope:
          capacity = 4096
          resource, columns_v = core_ops.io_orc_readable_init(
              filename,
              container=scope,
              shared_name=f"{filename}/{uuid.uuid4().hex}",
          )
          columns = (
              columns if columns is not None else columns_v.numpy()
          )
          columns_dataset = []
          columns_function = []
          for column in columns:
              shape, dtype = core_ops.io_orc_readable_spec(
                  resource, column
              )
              shape = tf.TensorShape(
                  [None if e < 0 else e for e in shape.numpy()]
              )
              dtype = tf.as_dtype(dtype.numpy())
              function = _ORCIODatasetFunction(
                  core_ops.io_orc_readable_read,
                  resource,
                  column,
                  shape,
                  dtype,
              )
              columns_function.append(function)
  
          for column, function in zip(columns, columns_function):
              column_dataset = tf.compat.v2.data.Dataset.range(
                  0, sys.maxsize, capacity
              )
              column_dataset = column_dataset.map(
                  lambda index: function(index, index + capacity)
              )
              column_dataset = column_dataset.apply(
                  tf.data.experimental.take_while(
                      lambda v: tf.greater(tf.shape(v)[0], 0)
                  )
              )
              columns_dataset.append(column_dataset)
          if len(columns_dataset) == 1:
              dataset = columns_dataset[0]
          else:
              dataset = tf.compat.v2.data.Dataset.zip(
                  tuple(columns_dataset)
              )
          dataset = dataset.unbatch()
  
          self._function = columns_function
          self._dataset = dataset
          super().__init__(self._dataset._variant_tensor)
  
file_path: io/tensorflow_io/python/ops/orc_dataset_ops.py
imports: import sys
  import uuid
  import tensorflow
  from tensorflow_io.python.ops import core_ops
label_desc: Use image node_id 1 to create a new ORCIODataset object from inherited base classes: tf.data with example: obj = ORCIODataset(filename, columns, internal)