SessionContext is the entry point into DataFusion from Java. It owns the catalog of registered tables and the query planner.
try (SessionContext ctx = new SessionContext()) { // register tables, build queries... }
SessionContext is AutoCloseable. Closing it releases the underlying native context. Use try-with-resources so the native side is freed even on exception.
A SessionContext is not thread-safe. Do not share one across threads without external synchronization. The simplest pattern is one context per thread.
Today, SessionContext exposes only data-source registration and query construction. Tuning knobs that DataFusion offers natively (SessionConfig, RuntimeEnv) are not yet wired through the Java API. See Project status for the current shape of the API.