code: def init_drill_mortgage_schema(drill, tpch_dir):
      dir_path = os.path.dirname(os.path.realpath(__file__))
      print(dir_path)
  
      tableNames = ["perf", "acq", "names"]
  
      timeout = 200
  
      for name in tableNames:
          drill.query(
              "DROP TABLE IF EXISTS"
              + "dfs.tmp.`%(table)s`" % {"table": name},
              timeout,
          )
      drill.query(
          """
          create table dfs.tmp.`perf/` as
            SELECT
              CAST(columns[0] AS BIGINT) as `loan_id`,
              columns[1] as `monthly_reporting_period`,
              columns[2] as `servicer`,
              CAST(columns[3] AS FLOAT) as `interest_rate`,
              CAST(columns[4] AS FLOAT) as `current_actual_upb`,
              CAST(columns[5] AS FLOAT) as `loan_age`,
              CAST(columns[6] AS FLOAT) as `remaining_months_to_legal_maturity`,
              CAST(columns[7] AS FLOAT) as `adj_remaining_months_to_maturity`,
              columns[8] as `maturity_date`,
              CAST(columns[9] AS FLOAT) as `msa`,
              CAST(columns[10] AS INT) as `current_loan_delinquency_status`,
              columns[11] as `mod_flag`,
              columns[12] as `zero_balance_code`,
              columns[13] as `zero_balance_effective_date`,
              columns[14] as `last_paid_installment_date`,
              columns[15] as `foreclosed_after`,
              columns[16] as `disposition_date`,
              CAST(columns[17] AS FLOAT)  as `foreclosure_costs`,
              CAST(columns[18] AS FLOAT)  as
               `prop_preservation_and_repair_costs`,
              CAST(columns[19] AS FLOAT)  as `asset_recovery_costs`,
              CAST(columns[20] AS FLOAT)  as `misc_holding_expenses`,
              CAST(columns[21] AS FLOAT)  as `holding_taxes`,
              CAST(columns[22] AS FLOAT)  as `net_sale_proceeds`,
              CAST(columns[23] AS FLOAT) as `credit_enhancement_proceeds`,
              CAST(columns[24] AS FLOAT)  as `repurchase_make_whole_proceeds`,
              CAST(columns[25] AS FLOAT) as `other_foreclosure_proceeds`,
              CAST(columns[26] AS FLOAT) as `non_interest_bearing_upb`,
              CAST(columns[27] AS FLOAT) as `principal_forgiveness_upb`,
              columns[28] as `repurchase_make_whole_proceeds_flag`,
              CAST(columns[29] AS FLOAT) as
               `foreclosure_principal_write_off_amount`,
              columns[30] as `servicing_activity_indicator`
          FROM table(dfs.`%(tpch_dir)s/perf/Performance_2000Q1.txt`
           (type => 'text', fieldDelimiter => '|'))
          """
          % {"tpch_dir": tpch_dir},
          timeout,
      )
  
      drill.query(
          """
          create table dfs.tmp.`acq/` as
            SELECT
              CAST(columns[0] AS BIGINT) as `loan_id`,
              columns[1] as `orig_channel`,
              columns[2] as `seller_name`,
              CAST(columns[3] AS FLOAT) as `orig_interest_rate`,
              CAST(columns[4] AS BIGINT) as `orig_upb`,
              CAST(columns[5] AS BIGINT) as `orig_loan_term`,
              columns[6] as `orig_date`,
              columns[7] as `first_pay_date`,
              CAST(columns[8] AS FLOAT) as `orig_ltv`,
              CAST(columns[9] AS FLOAT) as `orig_cltv`,
              CAST(columns[10] AS FLOAT) as `num_borrowers`,
              CAST(columns[11] AS FLOAT) as `dti`,
              CAST(columns[12] AS FLOAT) as `borrower_credit_score`,
              columns[13] as `first_home_buyer`,
              columns[14] as `loan_purpose`,
              columns[15] as `property_type`,
              CAST(columns[16] AS BIGINT) as `num_units`,
              columns[17] as `occupancy_status`,
              columns[18] as `property_state`,
              CAST(columns[19] AS BIGINT) as `zip`,
              CAST(columns[20] AS FLOAT) as `mortgage_insurance_percent`,
              columns[21] as `product_type`,
              CAST(columns[22] AS FLOAT) as `coborrow_credit_score`,
              CAST(columns[23] AS FLOAT) as `mortgage_insurance_type`,
              columns[24] as `relocation_mortgage_indicator`
          FROM table(dfs.`%(tpch_dir)s/acq/Acquisition_2000Q1.txt`
           (type => 'text', fieldDelimiter => '|'))
          """
          % {"tpch_dir": tpch_dir},
          timeout,
      )
  
      drill.query(
          """create table dfs.tmp.`names/` as SELECT
              columns[0] as `seller_name`,
              columns[1] as `new_seller_name`
           FROM table(dfs.`%(tpch_dir)s/names.load`
           (type => 'text', fieldDelimiter => '|', quote => '"'))
          """
          % {"tpch_dir": tpch_dir},
          timeout,
      )
  
imports: import os
  import re
  import tempfile
  from collections import OrderedDict
  from os import listdir
  from os.path import isdir
  import glob
  from enum import IntEnum, unique
  import cudf
  import dask_cudf
  import numpy
  import pandas
  import pyblazing
  from blazingsql import DataType
  from pyhive import hive
  from Configuration import Settings
  from DemoTest.chronometer import Chronometer
label_desc: Use image node_id 10 for calling a global function with example usage: init_drill_mortgage_schema(drill, tpch_dir) without return types