Подключение к свече и доступ к таблице улья без комиссионного сервера
Я пишу приложение Java Spark, которое должно подключиться к кусту и получить некоторую базовую информацию о таблице и запросить эту таблицу для данных. Я создаю сеанс зажигания и получаю информацию, как показано ниже. Но это использует бережливый сервер. Я хочу посмотреть, смогу ли я сделать то же самое без использования благотворительного сервера. Это возможно и как мне это сделать? Я пытаюсь написать клиент JDBC, который может подключаться к spark через sparkSQL для доступа к таблицам кустов, но без использования экономичного сервера. Пожалуйста, поделитесь своими мыслями и предложениями о том, как подойти к этому. Спасибо.
SparkSession spark = SparkSession
.builder()
.appName(" Hive example")
.enableHiveSupport()
.getOrCreate();
Dataset<Row> df = spark.read()
.format("jdbc")
.option("driver", "org.apache.hive.jdbc.HiveDriver")
.option("url", " jdbc:hive2://host:port")
.option("dbtable", "mytable")
.option("fetchsize", "20")
.load();
df.show();
1 ответ
С Spark 2 вы можете попробовать что-то вроде этого,
SparkSession ss = SparkSession
.builder()
.appName(" Hive example")
.config("hive.metastore.uris", "thrift://localhost:9083")
.enableHiveSupport()
.getOrCreate();
Обратите внимание hive.metastore.uris
измените localhost так, чтобы он указывал на вашу песочницу или кластер.
один ss
инициализируется, вы можете прочитать таблицы, как показано ниже,
val df = ss.read.table("db_name.table_name")
JDBC путь:
spark.read
.format("jdbc")
.option("url", "jdbc:hive2://localhost:10000/default")
.option("dbtable", "clicks_json")
.load()
Надеюсь это поможет. Приветствия.