Skip to content

Commit c75ea75

Browse files
committed
[query] remove unnecessary references to HailContext
1 parent 4f0cd2b commit c75ea75

File tree

12 files changed

+23
-45
lines changed

12 files changed

+23
-45
lines changed

hail/hail/src/is/hail/HailContext.scala

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@ import is.hail.backend.Backend
44
import is.hail.backend.spark.SparkBackend
55
import is.hail.expr.ir.functions.IRFunctionRegistry
66
import is.hail.io.fs.FS
7-
import is.hail.io.vcf._
8-
import is.hail.types.virtual._
97
import is.hail.utils._
108

119
import scala.reflect.ClassTag
@@ -17,9 +15,6 @@ import org.apache.log4j.{LogManager, PropertyConfigurator}
1715
import org.apache.spark._
1816
import org.apache.spark.executor.InputMetrics
1917
import org.apache.spark.rdd.RDD
20-
import org.json4s.Extraction
21-
import org.json4s.jackson.JsonMethods
22-
import sourcecode.Enclosing
2318

2419
case class FilePartition(index: Int, file: String) extends Partition
2520

@@ -42,8 +37,6 @@ object HailContext {
4237

4338
def backend: Backend = get.backend
4439

45-
def sparkBackend(implicit E: Enclosing): SparkBackend = get.backend.asSpark
46-
4740
def configureLogging(logFile: String, quiet: Boolean, append: Boolean): Unit = {
4841
org.apache.log4j.helpers.LogLog.setInternalDebugging(true)
4942
org.apache.log4j.helpers.LogLog.setQuietMode(false)
@@ -194,12 +187,4 @@ class HailContext private (
194187
: Array[(String, Array[String])] =
195188
fileAndLineCounts(fs: FS, regex, files, maxLines).mapValues(_.map(_.value)).toArray
196189

197-
def parseVCFMetadata(fs: FS, file: String): Map[String, Map[String, Map[String, String]]] =
198-
LoadVCF.parseHeaderMetadata(fs, Set.empty, TFloat64, file)
199-
200-
def pyParseVCFMetadataJSON(fs: FS, file: String): String = {
201-
val metadata = LoadVCF.parseHeaderMetadata(fs, Set.empty, TFloat64, file)
202-
implicit val formats = defaultJSONFormats
203-
JsonMethods.compact(Extraction.decompose(metadata))
204-
}
205190
}

hail/hail/src/is/hail/HailFeatureFlags.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@ package is.hail
22

33
import is.hail.backend.ExecutionCache
44
import is.hail.backend.spark.SparkBackend
5-
import is.hail.expr.ir.{Optimize, agg}
5+
import is.hail.expr.ir.{agg, Optimize}
66
import is.hail.io.fs.RequesterPaysConfig
77
import is.hail.types.encoded.EType
88
import is.hail.utils._
99

1010
import scala.collection.mutable
11+
1112
import org.json4s.JsonAST.{JArray, JObject, JString}
1213

1314
object HailFeatureFlags {

hail/hail/src/is/hail/backend/driver/Py4JQueryDriver.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,8 @@ final class Py4JQueryDriver(backend: Backend) extends Closeable {
217217
def pyToDF(s: String): DataFrame =
218218
withExecuteContext(selfContainedExecution = false) { ctx =>
219219
val tir = IRParser.parse_table_ir(ctx, s)
220-
Interpret(tir, ctx).toDF()
220+
val tv = Interpret(tir, ctx)
221+
tv.toDF(ctx)
221222
}._1
222223

223224
def pyReadMultipleMatrixTables(jsonQuery: String): util.List[MatrixIR] =

hail/hail/src/is/hail/backend/spark/SparkBackend.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,11 @@ object SparkBackend {
8787

8888
private var theSparkBackend: SparkBackend = _
8989

90-
def sparkContext(implicit E: Enclosing): SparkContext = HailContext.sparkBackend.sc
90+
def sparkContext(implicit E: Enclosing): SparkContext =
91+
synchronized {
92+
if (theSparkBackend == null) throw new IllegalStateException(E.value)
93+
else theSparkBackend.sc
94+
}
9195

9296
def checkSparkCompatibility(jarVersion: String, sparkVersion: String): Unit = {
9397
def majorMinor(version: String): String = version.split("\\.", 3).take(2).mkString(".")

hail/hail/src/is/hail/expr/ir/TableValue.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
package is.hail.expr.ir
2-
3-
import is.hail.HailContext
42
import is.hail.annotations._
53
import is.hail.asm4s._
64
import is.hail.backend.ExecuteContext
@@ -367,8 +365,8 @@ case class TableValue(ctx: ExecuteContext, typ: TableType, globals: BroadcastRow
367365
)
368366
}
369367

370-
def toDF(): DataFrame =
371-
HailContext.sparkBackend.sparkSession.createDataFrame(
368+
def toDF(ctx: ExecuteContext): DataFrame =
369+
ctx.backend.asSpark.sparkSession.createDataFrame(
372370
rvd.toRows,
373371
typ.rowType.schema.asInstanceOf[StructType],
374372
)

hail/hail/src/is/hail/methods/LinearRegression.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
package is.hail.methods
2-
3-
import is.hail.HailContext
42
import is.hail.annotations._
53
import is.hail.backend.ExecuteContext
64
import is.hail.expr.ir.{IntArrayBuilder, MatrixValue, TableValue}
@@ -67,7 +65,7 @@ case class LinearRegressionRowsSingle(
6765

6866
val Qty = Qt * y
6967

70-
val backend = HailContext.backend
68+
val backend = ctx.backend
7169
val completeColIdxBc = backend.broadcast(completeColIdx)
7270
val yBc = backend.broadcast(y)
7371
val QtBc = backend.broadcast(Qt)
@@ -251,7 +249,7 @@ case class LinearRegressionRowsChained(
251249
ChainedLinregInput(n, y, completeColIdx, Qt, Qty, yyp, d)
252250
}
253251

254-
val bc = HailContext.backend.broadcast(bcData)
252+
val bc = ctx.backend.broadcast(bcData)
255253
val nGroups = bcData.length
256254

257255
val fullRowType = mv.rvd.rowPType

hail/hail/src/is/hail/methods/LogisticRegression.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
package is.hail.methods
2-
3-
import is.hail.HailContext
42
import is.hail.annotations._
53
import is.hail.backend.ExecuteContext
64
import is.hail.expr.ir.{IntArrayBuilder, MatrixValue, TableValue}
@@ -91,7 +89,7 @@ case class LogisticRegression(
9189
nullFit
9290
}
9391

94-
val backend = HailContext.backend
92+
val backend = ctx.backend
9593
val completeColIdxBc = backend.broadcast(completeColIdx)
9694

9795
val yVecsBc = backend.broadcast(yVecs)

hail/hail/src/is/hail/methods/MatrixExportEntriesByCol.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
package is.hail.methods
2-
3-
import is.hail.HailContext
42
import is.hail.annotations.{UnsafeIndexedSeq, UnsafeRow}
53
import is.hail.backend.ExecuteContext
64
import is.hail.backend.spark.SparkBackend
@@ -69,7 +67,7 @@ case class MatrixExportEntriesByCol(
6967
val extension = if (bgzip) ".tsv.bgz" else ".tsv"
7068
val localHeaderJsonInFile = headerJsonInFile
7169

72-
val colValuesJSON = HailContext.backend.broadcast(
70+
val colValuesJSON = ctx.backend.broadcast(
7371
(startIdx until endIdx)
7472
.map(allColValuesJSON)
7573
.toArray

hail/hail/src/is/hail/methods/PCA.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
package is.hail.methods
2-
3-
import is.hail.HailContext
42
import is.hail.annotations._
53
import is.hail.backend.ExecuteContext
64
import is.hail.expr.ir.{MatrixValue, TableValue}
@@ -63,7 +61,7 @@ case class PCA(entryField: String, k: Int, computeLoadings: Boolean) extends Mat
6361
) ++ TStruct("loadings" -> TArray(TFloat64)))
6462
.setRequired(true)
6563
.asInstanceOf[PStruct]
66-
val rowKeysBc = HailContext.backend.broadcast(collectRowKeys())
64+
val rowKeysBc = ctx.backend.broadcast(collectRowKeys())
6765
val localRowKeySignature = mv.typ.rowKeyStruct.types
6866

6967
val crdd: ContextRDD[Long] = if (computeLoadings) {

hail/hail/src/is/hail/methods/PoissonRegression.scala

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
package is.hail.methods
2-
3-
import is.hail.HailContext
42
import is.hail.annotations._
53
import is.hail.backend.ExecuteContext
64
import is.hail.expr.ir.{IntArrayBuilder, MatrixValue, TableValue}
@@ -69,7 +67,7 @@ case class PoissonRegression(
6967
"Newton iteration failed to converge"
7068
))
7169

72-
val backend = HailContext.backend
70+
val backend = ctx.backend
7371
val completeColIdxBc = backend.broadcast(completeColIdx)
7472

7573
val yBc = backend.broadcast(y)

0 commit comments

Comments
 (0)