iceberg-hive测试案例
iceberg-hive 测试案例
蓝瘦⾹菇,iceberg 太难操作了。真⼼不如Delta Lake操作的顺利
人头像素描⼀、配置及须知
1、配置jar包:
iceberg0.11.0版本,官⽹,放到hive的lib⽬录下。
2、参数:
SET abled=true;
abled=true;
atalog=hive;
//使hive能访问spark下catalog为hive⽅式创建的ice表
/
果岭争雄/如果是spark-hadoop⽅式创建则不需要此参数,否则找不到表。笃志是什么意思
⼆、测试案例
怎么折兔子
1、建表
DROP table test.spark_hive;
CREATE EXTERNAL TABLE test.spark_hive(
`id`int,
`name` string)
STORED BY'org.hive.HiveIcebergStorageHandler'
LOCATION 'hdfs://HDFS81339/tmp/iceberg/test/spark_hive'
TBLPROPERTIES (
'atalog'='hadoop',
欢乐颂3
'atalog.hadoop.warehou.location'='hdfs://HDFS81339/tmp/iceberg/test/spark_hive'
);
划重点:如果不加这个,会导致hive⽆法读取spark表:
TBLPROPERTIES (
'atalog'='hadoop',
金针菇有营养吗'atalog.hadoop.warehou.location'='hdfs://HDFS81339/tmp/iceberg/test/spark_hive'
);
下图建表语句虽然成功,并且location了spark创建的iceberg表⽬录,但是⽆法读取spark所建的iceberg表数据。
2、插⼊数据
hive>inrt into table iceberg_table values(5,'e');
一板一眼
3、删除及更新(不可⽤)
hive> delete from iceberg_table where id=5;
尝试使⽤不⽀持这些操作的事务管理器进⾏更新或删除操作
1、hive是否可以访问Spark的ice表?
可以,但是必须注意以下
1、Spark 必须以hadoop 写⼊的⽅式才可以互通。
2、禁⽌使⽤atalog=hive; 参数,否则读取不到建表。
3、如果要删除表,需要先删除hive表再删除spark表,否则hive表删除报异常。
说真的,搞hive兼容spark真⼼吐了,需要注意的地⽅太多了。其实相⽐Spark来说hive还好,之后的Spark测试真⼼给我搞吐了。
总结
沁园春是词牌名吗
未完待续。