У меня есть скрипт улья, в верхней части которого есть несколько переменных conf улья. Этот запрос работает нормально, когда я запускаю его на нашем кластере emr, ожидаемые данные возвращаются. Например,
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;
set hive.exec.max.dynamic.partitions=10000;
set mapreduce.map.memory.mb=7168;
set mapreduce.reduce.memory.mb=7168;
set hive.exec.max.dynamic.partitions.pernode=10000;
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
set hive.execution.engine=mr;
select
fruits,
count(1) as n
from table
group by fruits;
Я хотел бы выполнить этот запрос на другом сервере, который имеет соединение odb c с кустом.
(я в r)
hive_conn <- DBI::dbConnect(odbc(), dsn = "Hive")
results <- DBI::dbGetQuery(hive_conn, "select fruits, count(1) as n from table group by fruits")
Это работает нормально и возвращает фрейм данных, как и ожидалось.
Однако, если я хочу установить некоторые конфигурации кустов, я не знаю, как отправить их с odb c.
Как я могу сказать hive через odb c, чтобы выполнить мой запрос с выбранными настройками hive conf?
set hive.exec.dynamic.partition.mode=nonstrict;
set hive.exec.dynamic.partition=true;
set hive.exec.max.dynamic.partitions=10000;
set mapreduce.map.memory.mb=7168;
set mapreduce.reduce.memory.mb=7168;
set hive.exec.max.dynamic.partitions.pernode=10000;
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
set hive.execution.engine=mr;