I am trying to use the CsvBulkUploadTool to get data from Hive to HBase.
As I typically do, I created a Hive table w/ the copy of the data that I care
about, and with the properties:
"row format delimited fields terminated by '|' null defined as 'null' stored as
textfile location 'my location' "
This correctly outputs a series of CSV files in HDFS with rows that look like
this:
96|9|116|183|[-6, -81, 96, 43, 108, 12, 0, 116, 30, 88, -29, 87, -73, -106, 0,
9, 27, 1, 71, 3, 0, 2, 13, 118, 119]|13|Some_String|3180|1474517022732|0|150
The 5th column needs to be stored as a string.
I can manually enter this into my HBase table:
upsert into my_table values (96,9,116,183,'[-6, -81, 96, 43, 108, 12, 0, 116,
30, 88, -29, 87, -73, -106, 0, 9, 27, 1, 71, 3, 0, 2, 13, 118,
119]',13,'Some_String',3180,1474517022732,0,150)
However, the CsvBulkUploadTool fails.
I'm passing the " -d '|' " parameter (and I've also tried with double quotes),
but I still get errors like the one below.
Can anyone tell me how to accomplish my objective here?
16/10/07 14:33:16 INFO mapreduce.Job: Task Id :
attempt_1475193681552_0605_m_000376_0, Status : FAILED
Error: java.lang.RuntimeException: java.lang.RuntimeException: Error on record,
java.sql.SQLException: ERROR 201 (22000): Illegal data., record
=[96|9|116|183|[-6, -81, 96, 43, 108, 12, 0, 116, 30, 88, -29, 87, -73, -106,
0, 9, 27, 1, 71, 3, 0, 2, 13, 118, 119]|13|Some_String|3180|1474517022732|0|150]
at
org.apache.phoenix.mapreduce.CsvToKeyValueMapper.map(CsvToKeyValueMapper.java:176)
at
org.apache.phoenix.mapreduce.CsvToKeyValueMapper.map(CsvToKeyValueMapper.java:67)
at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:146)
at
org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:341)
at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:168)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1709)
at org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:162)
Zack Riesland | Data Analytics
639 Davis Drive | Morrisville, NC 27560 USA
[email protected]<mailto:[email protected]> |
www.sensus.com<http://www.sensus.com/>
Skype: zack_riesland
[Sensus]<http://www.sensus.com/>