code: def get_data(data_dir):
      if not exists(
          os.path.join(data_dir, "train_parquet")
      ) or not exists(os.path.join(data_dir, "test_parquet")):
          invalidInputError(
              False, "Not train and test data parquet specified"
          )
      else:
          train_tbl = FeatureTable.read_parquet(
              os.path.join(data_dir, "train_parquet")
          )
          test_tbl = FeatureTable.read_parquet(
              os.path.join(data_dir, "test_parquet")
          )
  
      # get cat sizes
      with tempfile.TemporaryDirectory() as local_path:
          get_remote_file_to_local(
              os.path.join(data_dir, "meta/categorical_sizes.pkl"),
              os.path.join(local_path, "categorical_sizes.pkl"),
          )
          with open(
              os.path.join(local_path, "categorical_sizes.pkl"), "rb"
          ) as f:
              cat_sizes_dict = SafePickle.load(f)
          get_remote_file_to_local(
              os.path.join(data_dir, "meta/cross_sizes.pkl"),
              os.path.join(local_path, "cross_sizes.pkl"),
          )
          with open(
              os.path.join(local_path, "cross_sizes.pkl"), "rb"
          ) as f:
              cross_sizes_dict = SafePickle.load(f)
  
      wide_cols = [col for col in CAT_COLS if cat_sizes_dict[col] <= 10]
      wide_dims = [cat_sizes_dict[col] for col in wide_cols]
      cross_cols = list(cross_sizes_dict.keys())
      cross_dims = [cross_sizes_dict[col] for col in cross_cols]
      embedding_cols = [
          col for col in CAT_COLS if cat_sizes_dict[col] >= 100
      ]
      embedding_dims = [cat_sizes_dict[col] for col in embedding_cols]
      indicator_cols = list(
          set(CAT_COLS) - set(wide_cols) - set(embedding_cols)
      )
      indicator_dims = [cat_sizes_dict[col] for col in indicator_cols]
  
      column_info = {
          "wide_base_cols": wide_cols,
          "wide_base_dims": wide_dims,
          "wide_cross_cols": cross_cols,
          "wide_cross_dims": cross_dims,
          "indicator_cols": indicator_cols,
          "indicator_dims": indicator_dims,
          "continuous_cols": INT_COLS,
          "embed_cols": embedding_cols,
          "embed_in_dims": embedding_dims,
          "embed_out_dims": [16] * len(embedding_cols),
          "label": "c0",
      }
  
      return train_tbl, test_tbl, column_info
  
file_path: BigDL/python/friesian/example/wnd/wnd_train.py
imports: from __future__ import division, print_function, unicode_literals
  import os
  import math
  import tempfile
  from bigdl.friesian.utils import SafePickle
  from time import time
  from argparse import ArgumentParser
  from bigdl.dllib.utils.file_utils import get_remote_file_to_local
  from bigdl.dllib.utils.log4Error import invalidInputError
  from bigdl.orca import init_orca_context, stop_orca_context
  from bigdl.orca.data.file import exists, makedirs
  from bigdl.friesian.feature import FeatureTable
  from bigdl.orca.learn.tf2.estimator import Estimator
label_desc: Use image node_id 1 for calling a global function with example usage: get_data(data_dir) and returns: train_tbl,  test_tbl,  column_info