public class Clickhouse { public static Map getOptions() { Map options = new HashMap<>(); options.put("pushDownAggregate", "true"); options.put("driver", "com.clickhouse.jdbc.ClickHouseDriver"); return options; } public static void main(String[] args) { try { SparkSession spark = SparkSession.builder() .appName("foo") .master("local[*]") .config("spark.executor.cores", 6) .config("spark.cores.max", 6) .getOrCreate(); JdbcDialects.registerDialect(new ClickHouseJdbcDialect()); String catalogPropPrefix = "spark.sql.catalog.foo"; spark.conf().set(catalogPropPrefix, JDBCTableCatalog.class.getName()); spark.conf().set(catalogPropPrefix + ".url", "jdbc:clickhouse://localhost:8123/default?user=default&password=default"); Dataset table = spark.read() .options(getOptions()) .table("foo.`default`.`foo`"); table.show(); } catch (Exception e) { e.printStackTrace(); } } }