Phoenix 关联映射 Hbase表 获取不到数据,upsert hbase 列名为16进制字符
生活随笔
收集整理的這篇文章主要介紹了
Phoenix 关联映射 Hbase表 获取不到数据,upsert hbase 列名为16进制字符
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
創建Hbase表
create 'phoenix_hbase_test','cf1','cf2' put 'phoenix_hbase_test', 'key1','cf1:name','zhangsan' put 'phoenix_hbase_test', 'key1','cf2:age','18' put 'phoenix_hbase_test', 'key2','cf1:name','lisi' put 'phoenix_hbase_test', 'key2','cf2:age','26' put 'phoenix_hbase_test', 'key3','cf1:name','chenwu' put 'phoenix_hbase_test', 'key4','cf2:age','10'Phoenix 關聯
create table "phoenix_hbase_test"("rowkey" varchar primary key, "cf1"."name" varchar , "cf2"."age" varchar)查詢數據發現Phoenix查詢不到關聯的name,age值
這里使用upsert into 添加一條試試
?
發現可以查詢到,我們去hbase查看一下數據,發現key5 的數據列名為16進制字符?
hbase(main):077:0> scan 'phoenix_hbase_test' ROW COLUMN+CELL key1 column=cf1:_0, timestamp=1564209151874, value= key1 column=cf1:name, timestamp=1564209151856, value=zhangsan key1 column=cf2:age, timestamp=1564209151874, value=18 key2 column=cf1:_0, timestamp=1564209151907, value= key2 column=cf1:name, timestamp=1564209151891, value=lisi key2 column=cf2:age, timestamp=1564209151907, value=26 key3 column=cf1:_0, timestamp=1564209151922, value= key3 column=cf1:name, timestamp=1564209151922, value=chenwu key4 column=cf1:_0, timestamp=1564209152655, value= key4 column=cf2:age, timestamp=1564209152655, value=10 key5 column=cf1:\x00\x00\x00\x00, timestamp=1564209286035, value=x key5 column=cf1:\x80\x0B, timestamp=1564209286035, value=shazi key5 column=cf2:\x80\x0C, timestamp=1564209286035, value=66 5 row(s) in 0.0180 seconds查詢資料發現,4.10版本只有 Phoenix默認會對字段值進行編碼,在創建表中加入column_encoded_bytes=0 即可解決該問題
create table "phoenix_hbase_test"("rowkey" varchar primary key, "cf1"."name" varchar , "cf2"."age" varchar) column_encoded_bytes=0;官網對該功能的說明:http://phoenix.apache.org/columnencoding.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Phoenix 关联映射 Hbase表 获取不到数据,upsert hbase 列名为16进制字符的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sentry : Spark-sql 读
- 下一篇: 技术人生“白天求生存,晚上谋发展”