code: def test_dataframe_decimal_input(self):
      from pyspark.sql.types import (
          StructType,
          StructField,
          IntegerType,
          FloatType,
      )
      from pyspark.sql.functions import col
  
      spark = OrcaContext.get_spark_session()
      schema = StructType(
          [
              StructField("feature", FloatType(), True),
              StructField("label", IntegerType(), True),
          ]
      )
      data = [
          (30.2222, 1),
          (40.0, 0),
          (15.1, 1),
          (-2.456, 1),
          (3.21, 0),
          (11.28, 1),
      ]
      df = spark.createDataFrame(data=data, schema=schema)
      df = df.withColumn(
          "feature", col("feature").cast("decimal(38,2)")
      )
  
      config = {"lr": 0.8}
      trainer = Estimator.from_keras(
          model_creator=model_creator,
          verbose=True,
          config=config,
          workers_per_node=2,
      )
  
      trainer.fit(
          df,
          epochs=1,
          batch_size=4,
          steps_per_epoch=25,
          feature_cols=["feature"],
          label_cols=["label"],
      )
  
imports: import math
  import os
  import shutil
  import tempfile
  import pytest
  from unittest import TestCase
  import tensorflow
  import numpy
  from bigdl.orca.data.pandas import read_csv
  from bigdl.orca.data import SparkXShards, XShards
  from bigdl.orca.data.tf.data import Dataset
  from bigdl.orca.learn.tf2 import Estimator
  from bigdl.orca.ray import OrcaRayContext
  from bigdl.orca import OrcaContext
label_desc: Use image node_id 7 for calling the TestTF2EstimatorRayBackend obj's underlying member method code with example usage: obj.test_dataframe_decimal_input() without return types