Tag: hive

增加Hadoop 2中的Hive映射器数量

我从Hive创建了一个HBase表,我正在尝试对它进行简单的聚合。 这是我的Hive查询: from my_hbase_table select col1, count(1) group by col1; 地图减少作业只产生2个映射器,我想增加它。 使用普通地图缩小作业,我将配置纱线和映射器内存以增加映射器的数量。 我在Hive中尝试了以下操作,但它不起作用: set yarn.nodemanager.resource.cpu-vcores=16; set yarn.nodemanager.resource.memory-mb=32768; set mapreduce.map.cpu.vcores=1; set mapreduce.map.memory.mb=2048; 注意: 我的测试集群只有2个节点 HBase表有超过5M的记录 Hive日志显示HiveInputFormat和一些splits = 2

Hive启动 – 终端初始化失败; 回到没有支持

我已经下载了hive并修改了HADOOP_HOME HADOOP_HOME=${bin}/../../usr/local/hadoop 我的实际hadoop路径是 /usr/local/hadoop 在.bashrc中我添加了以下env变量 export HIVE_HOME=/usr/lib/hive/apache-hive-1.1.0-bin export PATH=$PATH:$HIVE_HOME/bin export CLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:. export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:. 然后我尝试使用bin / hive启动配置单元。 我得到了以下错误 Logging initialized using configuration in jar:file:/usr/lib/hive/apache-hive-1.1.0-bin/lib/hive-common-1.1.0.jar!/hive-log4j.properties SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/local/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/usr/lib/hive/apache-hive-1.1.0-bin/lib/hive-jdbc-1.1.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] [ERROR] Terminal […]

在Spark中提取hive表分区 – java

Spark中有没有办法只提取分区列名? 我使用的解决方法是使用HiveContext运行“ show extended table like table_name ”

使用Hive JDBC执行程序时出错

我为Hive JDBC编写了这个小程序。 最初它正在执行正常,但是当我试图突然运行时,我遇到了错误。 程序: import java.io.FileWriter; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class SampleHiveProgram { String lyear=””; String lquarter=””; String driverName = “org.apache.hadoop.hive.jdbc.HiveDriver”; public static void main(String[] args) { SampleHiveProgram s=new SampleHiveProgram(); s.startHiveThriftServer(); s.quarterTable(); } public void startHiveThriftServer() { try { String […]

Hive,我如何检索所有数据库的表列

我想在Hive中编写这个sql请求的等价物: select * from information_schema.columns where table_schema=’database_name’ 如何访问配置单元的Metastore并检索存储在特定数据库中的所有表的所有列? 我知道我们可以通过describe [table_name]通过表来完成它,但是在同一个请求中是否有数据库中所有表的所有列?

无法在Spark中配置ORC属性

我正在使用Spark 1.6(Cloudera 5.8.2)并尝试以下方法来配置ORC属性。 但它不会影响输出。 下面是我试过的代码片段。 DataFrame dataframe = hiveContext.createDataFrame(rowData, schema); dataframe.write().format(“orc”).options(new HashMap(){ { put(“orc.compress”,”SNAPPY”); put(“hive.exec.orc.default.compress”,”SNAPPY”); put(“orc.compress.size”,”524288″); put(“hive.exec.orc.default.buffer.size”,”524288″); put(“hive.exec.orc.compression.strategy”, “COMPRESSION”); } }).save(“spark_orc_output”); 除此之外,我还尝试了在hive-site.xml和hiveContext对象中设置的这些属性。 输出上的hive –orcfiledump确认未应用配置。 Orcfiledump片段如下。 Compression: ZLIB Compression size: 262144

Hadoop Hive无法将源移动到目标

我试图使用Hive 1.2.0而不是Hadoop 2.6.0。 我创建了一个employee表。 但是,当我运行以下查询时: hive> load data local inpath ‘/home/abc/employeedetails’ into table employee; 我收到以下错误: Failed with exception Unable to move source file:/home/abc/employeedetails to destination hdfs://localhost:9000/user/hive/warehouse/employee/employeedetails_copy_1 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.MoveTask 我在这做什么错? 我需要设置任何特定权限吗? 提前致谢!

使用JDBC从Java连接到Hive

我正在尝试从Java连接到Hive服务器1.我在这个论坛上发现了一个问题,但它对我不起作用。 我正在使用此代码: import java.sql.SQLException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.sql.DriverManager; public class HiveJdbcClient { private static String driverName = “org.apache.hive.jdbc.HiveDriver”; /** * @param args * @throws SQLException */ public static void main(String[] args) throws SQLException { try { Class.forName(driverName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.exit(1); } //replace […]

使用Java API从Hive获取表属性

我正在尝试使用java中的Metastore客户端从hive Metastore中获取表db,name,owner和hdfs位置等表属性。 我想我可以得到表数据库和名称好,但我无法弄清楚如何抓住像所有者和hdfs位置的东西。 可能吗? 我一直在搜索文档和互联网几个小时,没有骰子。

必需字段’client_protocol’未设置

我正在使用Hive 0.12,我正在尝试从apache中获取JDBC。 当我尝试运行代码时,我得到apache.thrift.TApplicationException。 import java.sql.SQLException; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; import java.sql.DriverManager; public class HiveJdbcClient { private static String driverName = “org.apache.hive.jdbc.HiveDriver”; /** * @param args * @throws SQLException */ public static void main(String[] args) throws SQLException { try { Class.forName(driverName); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); System.exit(1); } […]