code: def read_parquet(file_path, columns=None, schema=None, **options):
      """
  
      Read parquet files to SparkXShards of pandas DataFrames.
  
      :param file_path: Parquet file path, a list of multiple parquet file paths, or a directory
      containing parquet files. Local file system, HDFS, and AWS S3 are supported.
      :param columns: list of column name, default=None.
      If not None, only these columns will be read from the file.
      :param schema: pyspark.sql.types.StructType for the input schema or
      a DDL-formatted string (For example col0 INT, col1 DOUBLE).
      :param options: other options for reading parquet.
      :return: An instance of SparkXShards.
      """
      sc = init_nncontext()
      spark = OrcaContext.get_spark_session()
      # df = spark.read.parquet(file_path)
      df = spark.read.load(
          file_path, "parquet", schema=schema, **options
      )
  
      if columns:
          df = df.select(*columns)
  
      def to_pandas(columns):
          def f(iter):
              import pandas as pd
  
              data = list(iter)
              pd_df = pd.DataFrame(data, columns=columns)
              return [pd_df]
  
          return f
  
      pd_rdd = df.rdd.mapPartitions(to_pandas(df.columns))
      try:
          data_shards = SparkXShards(pd_rdd)
      except Exception as e:
          print("An error occurred when reading parquet files")
          raise e
      return data_shards
  
file_path: analytics-zoo/pyzoo/zoo/orca/data/pandas/preprocessing.py
imports: from bigdl.util.common import get_node_and_core_number
  from zoo import init_nncontext
  from zoo.orca import OrcaContext
  from zoo.orca.data import SparkXShards
  from zoo.orca.data.utils import *
label_desc: Use image node_id 4 for calling a global function with example usage: read_parquet(file_path, columns, schema) and returns: data_shards, f, list