'load data to druid from hdfs
:param ts_dim: The column name to use as a timestamp
:param metric_spec: A list of dictionaries'

def load_from_hdfs(self, datasource, static_path, ts_dim, columns, intervals, num_shards, target_partition_size, query_granularity, segment_granularity, metric_spec=None, hadoop_dependency_coordinates=None):

    task_id = self.send_ingest_query(datasource, static_path, ts_dim, columns, metric_spec, intervals, num_shards, target_partition_size, query_granularity, segment_granularity, hadoop_dependency_coordinates)
    status_url = self.get_ingest_status_url(task_id)
    while True:
        r = requests.get(status_url)
        d = json.loads(r.text)
        if (d['status']['status'] == 'FAILED'):
            logging.error(d)
            raise AirflowDruidLoadException('[Error]:    Ingesting    data    to    druid    failed.')
        elif (d['status']['status'] == 'SUCCESS'):
            break
        time.sleep(LOAD_CHECK_INTERVAL)
