code: def test_ignore_column_of_all_nulls(self):
      path = tempfile.mkdtemp()
      shutil.rmtree(path)
      try:
          df = self.spark.createDataFrame(
              [
                  ["""{"a":null, "b":1, "c":3.0}"""],
                  ["""{"a":null, "b":null, "c":"string"}"""],
                  ["""{"a":null, "b":null, "c":null}"""],
              ]
          )
          df.write.text(path)
          schema = StructType(
              [
                  StructField("b", LongType(), nullable=True),
                  StructField("c", StringType(), nullable=True),
              ]
          )
          readback = self.spark.read.json(path, dropFieldIfAllNull=True)
          self.assertEqual(readback.schema, schema)
      finally:
          shutil.rmtree(path)
  
imports: import shutil
  import tempfile
  import uuid
  import os
  from pyspark.sql import Row
  from pyspark.sql.types import IntegerType, StructField, StructType, LongType, StringType
  from pyspark.testing.sqlutils import ReusedSQLTestCase
label_desc: Use image node_id 14 for calling the DataSourcesTestsMixin obj's underlying member method code with example usage: obj.test_ignore_column_of_all_nulls() without return types