def construct_ingest_query(self, static_path, columns):
<EOL>num_shards = self.num_shards<EOL>target_partition_size = self.target_partition_size<EOL>if self.target_partition_size == -<NUM_LIT:1>:<EOL><INDENT>if self.num_shards == -<NUM_LIT:1>:<EOL><INDENT>target_partition_size = DEFAULT_TARGET_PARTITION_SIZE<EOL><DEDENT><DEDENT>else:<EOL><INDENT>num_shards = -<NUM_LIT:1><EOL><DEDENT>metric_names = [m['<STR_LIT>'] for m in self.metric_spec if m['<STR_LIT:type>'] != '<STR_LIT:count>']<EOL>dimensions = [c for c in columns if c not in metric_names and c != self.ts_dim]<EOL>ingest_query_dict = {<EOL>"<STR_LIT:type>": "<STR_LIT>",<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": self.metric_spec,<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": self.query_granularity,<EOL>"<STR_LIT>": self.intervals,<EOL>"<STR_LIT:type>": "<STR_LIT>",<EOL>"<STR_LIT>": self.segment_granularity,<EOL>},<EOL>"<STR_LIT>": {<EOL>"<STR_LIT:type>": "<STR_LIT:string>",<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": columns,<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": [],<EOL>"<STR_LIT>": dimensions,  <EOL>"<STR_LIT>": []<EOL>},<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": self.ts_dim,<EOL>"<STR_LIT>": "<STR_LIT>"<EOL>},<EOL>"<STR_LIT>": "<STR_LIT>"<EOL>}<EOL>},<EOL>"<STR_LIT>": self.druid_datasource<EOL>},<EOL>"<STR_LIT>": {<EOL>"<STR_LIT:type>": "<STR_LIT>",<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": "<STR_LIT:false>",<EOL>"<STR_LIT>": "<STR_LIT:false>",<EOL>"<STR_LIT>": "<STR_LIT:false>",<EOL>},<EOL>"<STR_LIT>": {<EOL>"<STR_LIT:type>": "<STR_LIT>",<EOL>"<STR_LIT>": target_partition_size,<EOL>"<STR_LIT>": num_shards,<EOL>},<EOL>},<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": {<EOL>"<STR_LIT>": static_path,<EOL>"<STR_LIT:type>": "<STR_LIT>"<EOL>},<EOL>"<STR_LIT:type>": "<STR_LIT>"<EOL>}<EOL>}<EOL>}<EOL>if self.job_properties:<EOL><INDENT>ingest_query_dict['<STR_LIT>']['<STR_LIT>']['<STR_LIT>'].update(self.job_properties)<EOL><DEDENT>if self.hadoop_dependency_coordinates:<EOL><INDENT>ingest_query_dict['<STR_LIT>']= self.hadoop_dependency_coordinates<EOL><DEDENT>return ingest_query_dict<EOL>
Builds an ingest query for an HDFS TSV load.

:param static_path: The path on hdfs where the data is
:type static_path: str
:param columns: List of all the columns that are available
:type columns: list