利用CLI向Oracle NoSQL存數據----包含數組

今天,根據taxi的GPS數據,定義了一個簡單的avro schema:

1. gps數據格式:

   taxi_ID                時間                                        座標                                座標系     狀態    車速      方向

鄂AT0497,2010-12-22T10:49:18+08:00,POINT(30.623808 114.224311)#4326,正常,9.059861,348.73
鄂AT0497,2010-12-22T10:49:58+08:00,POINT(30.62578 114.22668)#4326,正常,10.067083,69.36
鄂AT0497,2010-12-22T10:50:44+08:00,POINT(30.626736 114.22993)#4326,正常,11.439167,72.45
鄂AT0497,2010-12-22T10:51:17+08:00,POINT(30.62704 114.230828)#4326,正常,0.0,0.0
鄂AT0497,2010-12-22T10:52:17+08:00,POINT(30.62765 114.232936)#4326,正常,4.67125,63.47
鄂AT0497,2010-12-22T10:52:25+08:00,POINT(30.627826 114.233226)#4326,正常,0.0,0.0
鄂AT0497,2010-12-22T10:54:51+08:00,POINT(30.630626 114.23164)#4326,正常,11.387777,327.61
鄂AT0497,2010-12-22T10:55:31+08:00,POINT(30.63415 114.228785)#4326,正常,14.573889,325.9
鄂AT0497,2010-12-22T10:56:11+08:00,POINT(30.637661 114.22645)#4326,正常,11.552222,331.66
鄂AT0497,2010-12-22T10:56:51+08:00,POINT(30.641633 114.22546)#4326,正常,11.557361,10.7
鄂AT0497,2010-12-22T10:57:32+08:00,POINT(30.642375 114.227501)#4326,正常,8.0320835,108.75

注意:我使用的SecureCRT不支持中文輸入,所以,在ID這項我去掉了“鄂”這個字,“正常“改爲英語表示。

            432代表WGS84.

2. 定義的schema格式:

{
"type":"record",
"name":"GPSdata",
"namespace":"wuhan.taxi",
"fields":[{"name":"id",
"type":"string",
"default":"NONE"},

{"name":"time",
"type":"string",
"default":"NONE"},

{"name":"coordinate",
"type":{"type":"array","items":"float"},
"default":[]},
 // 這個array的默認值,自己試了幾下,才通過檢查,標記一下,以後就知道如何給array類型設置默認值了。


{"name":"projection_categories",
"type":"string",
"default":"NONE"},

{"name":"state",
"type":"string",
"default":"NONE"},

{"name":"speed",
"type":"float",
"default":-1},

{"name":"direction",
"type":"float",
"default":-1}
]
}


3. 新建了一個kvstore,但是新建完畢之後並不能馬上使用,而是需要connect store命令來連接剛剛配置的新數據庫,然後才能向其存取數據。

schema已經先導入數據庫。

script.txt的內容如下:


其實,是完整一行,沒有換行。我嘗試過換行,使用斜槓 ” \ “,但是這樣會報錯,一條命令就只能寫在一行。


讀數據:



簡單記一下,以免忘記,畢竟目前Oracle NoSQL方面的資料太少,需要自己去摸索。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章