blob: bab4ae915f6913338671bd9368d7cfe17bd758a3 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
package org.apache.pirk.responder.wideskies.spark;
import java.io.Serializable;
import org.apache.pirk.query.wideskies.Query;
import org.apache.pirk.query.wideskies.QueryInfo;
import org.apache.pirk.schema.data.DataSchema;
import org.apache.pirk.schema.query.QuerySchema;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.broadcast.Broadcast;
/**
* Class to hold the broadcast variables
*
*/
public class BroadcastVars implements Serializable
{
private static final long serialVersionUID = 1L;
private transient JavaSparkContext jsc = null;
Broadcast<Query> query = null;
private Broadcast<QueryInfo> queryInfo = null;
private Broadcast<DataSchema> dataSchema = null;
private Broadcast<QuerySchema> querySchema = null;
private Broadcast<String> useLocalCache = null;
private Broadcast<Boolean> limitHitsPerSelector = null;
private Broadcast<Integer> maxHitsPerSelector = null;
private Broadcast<String> expDir = null;
public BroadcastVars(JavaSparkContext sc)
{
jsc = sc;
}
public Query getQuery()
{
return query.getValue();
}
public void setQuery(Query queryIn)
{
query = jsc.broadcast(queryIn);
}
public QueryInfo getQueryInfo()
{
return queryInfo.getValue();
}
public void setQueryInfo(QueryInfo queryInfoIn)
{
queryInfo = jsc.broadcast(queryInfoIn);
}
public void setQuerySchema(QuerySchema qSchemaIn)
{
querySchema = jsc.broadcast(qSchemaIn);
}
public QuerySchema getQuerySchema()
{
return querySchema.getValue();
}
public void setDataSchema(DataSchema dSchemaIn)
{
dataSchema = jsc.broadcast(dSchemaIn);
}
public DataSchema getDataSchema()
{
return dataSchema.getValue();
}
public void setUseLocalCache(String useLocalCacheInput)
{
useLocalCache = jsc.broadcast(useLocalCacheInput);
}
public String getUseLocalCache()
{
return useLocalCache.getValue();
}
public Boolean getLimitHitsPerSelector()
{
return limitHitsPerSelector.getValue();
}
public void setLimitHitsPerSelector(Boolean limitHitsPerSelectorIn)
{
limitHitsPerSelector = jsc.broadcast(limitHitsPerSelectorIn);
}
public Integer getMaxHitsPerSelector()
{
return maxHitsPerSelector.getValue();
}
public void setMaxHitsPerSelector(Integer maxHitsPerSelectorIn)
{
maxHitsPerSelector = jsc.broadcast(maxHitsPerSelectorIn);
}
public void setExpDir(String expDirIn)
{
expDir = jsc.broadcast(expDirIn);
}
public String getExpDir()
{
return expDir.getValue();
}
}