В Java все находится в форме класса.
Если вы хотите использовать любой объект, тогда у вас есть две фазы:
Пример:
Object a;
a=new Object();
То же самое для концепции массива
Item i[]=new Item[5];
i[0]=new Item();
Если вы не дают секцию инициализации, тогда возникает NullpointerException
.
SparkSQL vs Spark API вы можете просто представить, что вы находитесь в мире РСУБД:
SparkSQL - это чистый SQL, а Spark API - язык для записи хранимой процедуры
Hive on Spark аналогичен для SparkSQL это чистый интерфейс SQL, который использует искру в качестве механизма выполнения, SparkSQL использует синтаксис Hive, так как я бы сказал, что они почти одинаковы.
, но Hive on Spark имеет намного лучшую поддержка функций hive, особенно hiveserver2 и функций безопасности, функции hive в SparkSQL на самом деле ошибочны, в SparkSQL есть hiveserver2 impl, но в последней версии (1.6.x) hiveserver2 в SparkSQL не работает с аргументом hivevar и hiveconf и имя пользователя для входа через jdbc не работает ни ...
см. https://issues.apache.org/jira/browse/SPARK-13983
Я считаю, что поддержка улья в искровом проекте - это действительно очень низкоприоритетный материал ...
печально. Увлечение интеграцией искры не так просто, есть много конфликтов зависимостей ... таких как https://issues.apache.org/jira/browse/HIVE-13301
, и, когда я пытаюсь улей с интеграцией искры, для цели отладки, m всегда начинать hive cli следующим образом:
export HADOOP_USER_CLASSPATH_FIRST=true
bin/hive --hiveconf hive.root.logger=DEBUG,console
наше требование использует искру с hiveserver2 безопасным способом (с проверкой подлинности и авторизацией), в настоящее время SparkSQL не может этого предоставить, мы используем рейнджер / часовой + Hive on Spark.
надеюсь, что это поможет вам лучше понять, в каком направлении вы должны идти.
INFO session.SessionState: No Tez session required at this point. hive.execution.engine=mr.
в своих журналах.
– narush
14 February 2017 в 15:02
Проверьте этот блог с Databricks. Хотя и не слишком подробно, он рассказывает об истории, стоящей за ней, и о том, когда использовать что.
здесь есть ответ, который я нахожу на официальном сайте куста: 1.3 Сравнение с Shark и Spark SQL В экосистеме Spark есть два связанных проекта, которые предоставляют поддержку Hive QL для Spark: Shark и Spark SQL. ● Проект Акулы переводит планы запросов, генерируемых улья в его собственном представлении и выполняет их на Спарк. ● Спарк SQL является функция в Спарк. Он использует анализатор улья в качестве оболочки, чтобы обеспечить поддержку Hive QL. Разработчики приложений Спарк могут легко выразить свою логику обработки данных в SQL, а также других операторов Спарк, в их коде. Спарк SQL поддерживает различный случай использования, чем улей.
По сравнению с Shark и Spark SQL наш подход по дизайну поддерживает все существующие функции Hive, включая Hive QL (и любое будущее расширение), а также интеграцию Hive с авторизацией, мониторингом, аудитом и другими операционными инструментами.
3. Дизайн уровня улья Как отмечено во введении, этот проект использует другой подход от подхода Shark или Spark SQL в том смысле, что мы не будем внедрять семантику SQL с использованием примитивов Spark. Наоборот, мы реализуем его с помощью MapReduce примитивов. Единственная новая вещь здесь является то, что эти MapReduce примитивы будут выполняться в Спарк. На самом деле, лишь немногие из примитивов искру будет использоваться в этой конструкции.
Подход к выполнению примитивов MapReduce Hive на Spark, который отличается от того, что делает Shark или Spark SQL, имеет следующие прямые преимущества: пользователи 1.Spark автоматически получат весь набор полезных функций Hive, включая любые новые особенности, которые улей может ввести в будущем. 2.Это подход позволяет избежать или уменьшить необходимость любой настройки работы в исполнении Спарк двигателя улья. 3.It также ограничивает объем проекта и уменьшить содержание долговременную, сохраняя Улей-на-Спарк конгруэнтны улей MapReduce и Tez.