class_docstr: A collection of data which can be pre-processed in parallel on Spark.
class_docstr_tok: ["A","collection","of","data","which","can","be","pre-processed","in","parallel","on","Spark","."]
code: def _to_spark_df_without_arrow(self):
      def f(iter):
          from bigdl.dllib.utils.log4Error import invalidInputError
  
          pdf_list = list(iter)
          invalidInputError(
              len(pdf_list) == 1,
              f"For XShards of pandas dataframe, expects there is only 1"
              f" pandas dataframe for each partition, but got {len(pdf_list)}",
          )
          for pdf in pdf_list:
              np_records = pdf.to_records(index=False)
              return [r.tolist() for r in np_records]
  
      rdd = self.rdd.mapPartitions(f)
      column = self.get_schema()["columns"]
      df = rdd.toDF(list(column))
      return df
  
imports: from py4j.protocol import Py4JError
  from bigdl.orca.data.utils import *
  from bigdl.orca import OrcaContext
  from bigdl.dllib.utils.common import get_node_and_core_number, get_spark_sql_context, get_spark_context
  from bigdl.dllib.utils import nest
  from bigdl.dllib.utils.log4Error import invalidInputError
  import numpy
  from typing import TYPE_CHECKING, Any
  from typing import Callable, Dict, List, Optional, Tuple, Union
label_desc: Use image node_id 27 for calling the SparkXShards obj's underlying member method code with example usage: obj._to_spark_df_without_arrow() and returns: df, unknown