4 | | |
5 | | import java.io.BufferedReader; |
6 | | import java.io.File; |
7 | | import java.io.FileReader; |
8 | | import java.io.IOException; |
9 | | |
10 | | import org.apache.hadoop.hbase.HBaseConfiguration; |
11 | | import org.apache.hadoop.hbase.HColumnDescriptor; |
12 | | import org.apache.hadoop.hbase.HTableDescriptor; |
13 | | import org.apache.hadoop.hbase.client.HBaseAdmin; |
14 | | |
15 | | |
16 | | // ITRI serial program number 1 |
17 | | |
18 | | // 1. create table then read file to insert into hbase |
19 | | // tablename: itri |
20 | | // family : Detail, Products, Turnover |
21 | | // 2. edit a text file |
22 | | // format of "/tmp/itri/store.txt" is as |
23 | | // T01package itri; |
24 | | |
25 | | import java.io.BufferedReader; |
26 | | import java.io.File; |
27 | | import java.io.FileReader; |
28 | | import java.io.IOException; |
29 | | |
30 | | import org.apache.hadoop.hbase.HBaseConfiguration; |
31 | | import org.apache.hadoop.hbase.HColumnDescriptor; |
32 | | import org.apache.hadoop.hbase.HTableDescriptor; |
33 | | import org.apache.hadoop.hbase.client.HBaseAdmin; |
34 | | |
35 | | |
36 | | // ITRI serial program number 1 |
37 | | |
38 | | // 1. create table then read file to insert into hbase |
39 | | // tablename: itri |
40 | | // family : Detail, Products, Turnover |
41 | | // 2. edit a text file |
42 | | // format of "/tmp/itri/store.txt" is as |
43 | | // T01;GunLong; 01;20;40;30;50 |
44 | | // T02;Esing; 02;50 |
45 | | // T03;SunDon; 03;40;30 |
46 | | // T04;StarBucks; 04;50;50;20 |
47 | | // |
48 | | public class Itri1LoadFile { |
49 | | |
50 | | void loadFile2HBase(String file_in, String table_name) throws IOException { |
51 | | |
52 | | BufferedReader fi = new BufferedReader( |
53 | | new FileReader(new File(file_in))); |
54 | | |
55 | | String line; |
56 | | while ((line = fi.readLine()) != null) { |
57 | | |
58 | | String[] str = line.split(";"); |
59 | | int length = str.length; |
60 | | PutData.putData(table_name, str[0].trim(), "Detail", "Name", str[1] |
61 | | .trim()); |
62 | | PutData.putData(table_name, str[0].trim(), "Detail", "Locate", |
63 | | str[2].trim()); |
64 | | for (int i = 3; i < length; i++) { |
65 | | PutData.putData(table_name, str[0], "Products", "P" + (i - 2), |
66 | | str[i]); |
67 | | } |
68 | | System.out.println(); |
69 | | } |
70 | | fi.close(); |
71 | | |
72 | | }package itri; |
156 | | public void createHBaseTable(String tablename, String[] family) |
157 | | throws IOException { |
158 | | |
159 | | HTableDescriptor htd = new HTableDescriptor(tablename); |
160 | | |
161 | | for (String fa : family) { |
162 | | htd.addFamily(new HColumnDescriptor(fa)); |
163 | | } |
164 | | |
165 | | HBaseConfiguration config = new HBaseConfiguration(); |
166 | | |
167 | | HBaseAdmin admin = new HBaseAdmin(config); |
168 | | |
169 | | if (admin.tableExists(tablename)) { |
170 | | System.out.println("Table: " + tablename + "Existed."); |
171 | | } else { |
172 | | System.out.println("create new table: " + tablename); |
173 | | |
174 | | admin.createTable(htd); |
175 | | } |
176 | | } |
177 | | |
178 | | static public void main(String args[]) throws IOException { |
179 | | String tablename = "itri"; |
180 | | String[] family = { "Detail", "Products", "Turnover" }; |
181 | | String loadfile = "/tmp/itri/store.txt"; |
182 | | // run |
183 | | Itri1LoadFile lf = new Itri1LoadFile(); |
184 | | lf.createHBaseTable(tablename, family); |
185 | | lf.loadFile2HBase(loadfile, tablename); |
186 | | } |
187 | | };GunLong; 01;20;40;30;50 |
188 | | // T02;Esing; 02;50 |
189 | | // T03;SunDon; 03;40;30 |
190 | | // T04;StarBucks; 04;50;50;20 |
191 | | // |
192 | | public class Itri1LoadFile { |
193 | | |
194 | | void loadFile2HBase(String file_in, String table_name) throws IOException { |
195 | | |
196 | | BufferedReader fi = new BufferedReader( |
197 | | new FileReader(new File(file_in))); |
198 | | |
199 | | String line; |
200 | | while ((line = fi.readLine()) != null) { |
201 | | |
202 | | String[] str = line.split(";"); |
203 | | int length = str.length; |
204 | | PutData.putData(table_name, str[0].trim(), "Detail", "Name", str[1] |
205 | | .trim()); |
206 | | PutData.putData(table_name, str[0].trim(), "Detail", "Locate", |
207 | | str[2].trim()); |
208 | | for (int i = 3; i < length; i++) { |
209 | | PutData.putData(table_name, str[0], "Products", "P" + (i - 2), |
210 | | str[i]); |
211 | | } |
212 | | System.out.println(); |
213 | | } |
214 | | fi.close(); |
215 | | |
216 | | } |
217 | | |
218 | | public void createHBaseTable(String tablename, String[] family) |
219 | | throws IOException { |
220 | | |
221 | | HTableDescriptor htd = new HTableDescriptor(tablename); |
222 | | |
223 | | for (String fa : family) { |
224 | | htd.addFamily(new HColumnDescriptor(fa)); |
225 | | } |
226 | | |
227 | | HBaseConfiguration config = new HBaseConfiguration(); |
228 | | |
229 | | HBaseAdmin admin = new HBaseAdmin(config); |
230 | | |
231 | | if (admin.tableExists(tablename)) { |
232 | | System.out.println("Table: " + tablename + "Existed."); |
233 | | } else { |
234 | | System.out.println("create new table: " + tablename); |
235 | | |
236 | | admin.createTable(htd); |
237 | | } |
238 | | } |
239 | | |
240 | | static public void main(String args[]) throws IOException { |
241 | | String tablename = "itri"; |
242 | | String[] family = { "Detail", "Products", "Turnover" }; |
243 | | String loadfile = "/tmp/itri/store.txt"; |
244 | | // run |
245 | | Itri1LoadFile lf = new Itri1LoadFile(); |
246 | | lf.createHBaseTable(tablename, family); |
247 | | lf.loadFile2HBase(loadfile, tablename); |
248 | | } |
249 | | } |