当前位置: 首页 > 知识库问答 >
问题:

使用beeline从配置单元服务器2导出ORC文件时的列名

陆安国
2023-03-14

正在连接:

export SPARK_HOME=/usr/hdp/current/spark2-client
beeline
!connect jdbc:hive2://HOST1:2181,HOST2:2181,HOST2:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2

创建测试表并插入示例值:

create table test(str string);
insert into test values ('1');
insert into test values ('2');
insert into test values ('3');

正在运行测试查询:

select * from test;
+-----------+--+
| test.str  |
+-----------+--+
| 1         |
| 2         |
| 3         |
+-----------+--+
insert overwrite directory 'hdfs://HOST1:8020/tmp/test' stored as orc select * from test;
hdfs dfs -get /tmp/test/000000_0 test.orc
java -jar orc-tools-1.4.1-uber.jar data test.orc
Processing data file test.orc [length: 228]
{"_col0":"1"}
{"_col0":"2"}
{"_col0":"3"}

java -jar orc-tools-1.4.1-uber.jar meta test.orc
Processing data file test.orc [length: 228]
Structure for test.orc
File Version: 0.12 with HIVE_13083
Rows: 2
Compression: SNAPPY
Compression size: 262144
Type: struct<_col0:string>

Stripe Statistics:
  Stripe 1:
    Column 0: count: 2 hasNull: false
    Column 1: count: 2 hasNull: false min: 1 max: 3 sum: 2

File Statistics:
  Column 0: count: 2 hasNull: false
  Column 1: count: 2 hasNull: false min: 1 max: 3 sum: 2

Stripes:
  Stripe: offset: 3 data: 11 rows: 2 tail: 60 index: 39
    Stream: column 0 section ROW_INDEX start: 3 length 11
    Stream: column 1 section ROW_INDEX start: 14 length 28
    Stream: column 1 section DATA start: 42 length 5
    Stream: column 1 section LENGTH start: 47 length 6
    Encoding column 0: DIRECT
    Encoding column 1: DIRECT_V2

File length: 228 bytes
Padding length: 0 bytes
Padding ratio: 0%
Connected to: Apache Hive (version 2.1.0.2.6.3.0-235)
Driver: Hive JDBC (version 1.21.2.2.6.3.0-235)
Transaction isolation: TRANSACTION_REPEATABLE_READ
INFO  : Returning Hive schema: Schema(fieldSchemas:[FieldSchema(name:test.str, type:string, comment:null)], properties:null)

共有1个答案

狄法
2023-03-14

您需要在Ambari中启用配置单元LLAP(交互式SQL),然后更改您正在使用的连接字符串。例如,我的连接变成了jdbc:hive2:/.../;ServiceDiscoveryMode=ZooKeeper;ZooKeePernamespace=HiveServer2-Hive2

注意URL末尾的附加“-hive2”。这里是HortonWorks的教程vid。

连接到更新的配置单元endpoint后,我运行

create table t_orc(customer string, age int) stored as orc;
insert into t_orc values('bob', 12),('kate', 15);
~$ hdfs dfs -copyToLocal /apps/hive/warehouse/t_orc/000000_0 ~/tmp/orc/hive2.orc 
~$ orc-metadata tmp/orc/hive2.orc 
{ "name": "tmp/orc/hive2.orc",
  "type": "struct<customer:string,age:int>",
  "rows": 2,
  "stripe count": 1,
  "format": "0.12", "writer version": "HIVE-13083",
  "compression": "zlib", "compression block": 262144,
  "file length": 305,
  "content": 139, "stripe stats": 46, "footer": 96, "postscript": 23,
  "row index stride": 10000,
  "user metadata": {
  },
  "stripes": [
    { "stripe": 0, "rows": 2,
      "offset": 3, "length": 136,
      "index": 67, "data": 23, "footer": 46
    }
  ]
}
 类似资料:
  • 我已经从Map R集群复制了所有orc文件,并遵循了相同的文件夹结构 创建了位置为#1的orc格式表 然后执行此命令“msck REPAIR TABLE<>” 上面的步骤通过时没有出错,但当我查询分区时,作业失败,出现以下错误 有人能告诉我,我们可以直接从ORC文件创建配置单元ORC分区表吗? 我的存储是蔚蓝数据湖。

  • 问题: 需要查看任何特定的配置单元属性吗? 请引导我。如有任何帮助,我将不胜感激

  • 我创建了一个兽人蜂巢表,如下所示: 但是在spark jobs控制台中:它显示了与上述查询跳过的阶段(1)相关的一个作业--spark JDBC服务器查询

  • 我有一个配置单元表保存在ORC文件中,这是“create”命令中的定义: 我想从末尾删除一个列,所以我尝试了“alter table-replace columns”命令,在这里我没有写列名--但是得到了这个错误:

  • 我正在尝试在ORC文件上创建外部配置单元表。 但当我试图在创建的表上执行select操作时,会出现以下错误: 有什么建议吗??

  • 我有一个ACID hive表,里面有ORC格式的文件。尝试压缩时,出现以下错误:完整错误如下: 这个表是通过将avro文件创建和更新到一个orc表中的,因此产生了一组delta,和。 我有很多其他这样的表格,它们没有这个问题。这个表没有什么特别之处,实际上非常小(<100k行,磁盘上有2.5M),并且在上个月更新了100次(更新了20k行,更新了5M数据)。DDL为: 这每隔几个月就会发生一次。由