code: def test_read_parquet_dataset_train_simple(self):
      import shutil
      from bigdl.orca.data.image.parquet_dataset import (
          ParquetDataset,
          _write_ndarrays,
      )
      from bigdl.orca.learn.tf.estimator import Estimator
  
      temp_dir = tempfile.mkdtemp()
  
      try:
          _write_ndarrays(
              images=np.random.randn(500, 28, 28, 1).astype(np.float32),
              labels=np.random.randint(0, 10, (500,)).astype(np.int32),
              output_path="file://" + temp_dir,
          )
          dataset = ParquetDataset.read_as_tf("file://" + temp_dir)
  
          def preprocess(data):
              return data["image"], data["label"]
  
          dataset = dataset.map(preprocess)
  
          model = tf.keras.Sequential(
              [
                  tf.keras.layers.Conv2D(
                      20,
                      kernel_size=(5, 5),
                      strides=(1, 1),
                      activation="tanh",
                      input_shape=(28, 28, 1),
                      padding="valid",
                  ),
                  tf.keras.layers.MaxPooling2D(
                      pool_size=(2, 2), strides=(2, 2), padding="valid"
                  ),
                  tf.keras.layers.Conv2D(
                      50,
                      kernel_size=(5, 5),
                      strides=(1, 1),
                      activation="tanh",
                      padding="valid",
                  ),
                  tf.keras.layers.MaxPooling2D(
                      pool_size=(2, 2), strides=(2, 2), padding="valid"
                  ),
                  tf.keras.layers.Flatten(),
                  tf.keras.layers.Dense(500, activation="tanh"),
                  tf.keras.layers.Dense(10, activation="softmax"),
              ]
          )
  
          model.compile(
              optimizer=tf.keras.optimizers.RMSprop(),
              loss="sparse_categorical_crossentropy",
              metrics=["accuracy"],
          )
  
          est = Estimator.from_keras(keras_model=model)
          est.fit(data=dataset, batch_size=100, epochs=1)
  
      finally:
          shutil.rmtree(temp_dir)
  
imports: import pytest
  from pyspark.ml.linalg import DenseVector
  from bigdl.dllib.feature.common import ChainedPreprocessing, FeatureSet
  from bigdl.dllib.feature.image import *
  from bigdl.orca.test_zoo_utils import ZooTestCase
  from bigdl.dllib.keras.optimizers import Adam
  from bigdl.orca.tfpark import TFNet, TFOptimizer
  import tensorflow
  import numpy
  import os
  from bigdl.orca.tfpark import KerasModel, TFDataset
label_desc: Use image node_id 24 for calling the TestTFDataset obj's underlying member method code with example usage: obj.test_read_parquet_dataset_train_simple() and returns: data,  data