List of usage examples for org.apache.solr.common.cloud ZkStateReader close
public void close()
From source file:org.apache.hadoop.hive.solr.SolrInputFormat.java
License:Apache License
@Override public InputSplit[] getSplits(JobConf job, int numSplits) throws MalformedURLException { CloudSolrServer cloudServer = null;/*from w ww. j a v a 2 s .c o m*/ ZkStateReader stateReader; Path[] result = FileInputFormat.getInputPaths(job); Path path = result[0]; String zooKeeperAddress = job.get(ExternalTableProperties.ZOOKEEPER_SERVICE_URL); cloudServer = new CloudSolrServer(zooKeeperAddress); cloudServer.setDefaultCollection(job.get(ExternalTableProperties.COLLECTION_NAME)); cloudServer.connect(); stateReader = cloudServer.getZkStateReader(); ClusterState cs = stateReader.getClusterState(); Collection<Slice> slices = cs.getSlices(job.get(ExternalTableProperties.COLLECTION_NAME)); InputSplit[] inputSplits = new SolrFileSplit[slices.size()]; int i = 0; for (Slice slice : slices) { Replica leader = slice.getLeader(); SolrInputSplit split = new SolrInputSplit(leader.getProperties().get("base_url").toString(), leader.getProperties().get("core").toString(), job.get(ExternalTableProperties.COLLECTION_NAME)); inputSplits[i] = new SolrFileSplit(split, path); i++; } LOG.debug("solr splits size = " + inputSplits.length); stateReader.close(); return inputSplits; }