我想將數據從HDFS中的文件複製到卡桑德拉使用豬。但是在將數據存儲在Cassandra中時,作業失敗並出現空指針異常。有人可以幫我弄這個嗎?如何插入數據在卡桑德拉使用豬
用戶表結構:
CREATE TABLE用戶( user_ID的文本PRIMARY KEY, 年齡INT, 第一個文本, 最後文本 )
我的豬腳本
A = load'/ user/hduser/use r.txt'使用PigStorage(',')as(id:chararray,age:int,fname:chararray,lname:chararray); (TURUPLE('user_id',id)),TOTUPLE('age',age),TOTUPLE('first',fname),TOTUPLE('last',lname);以及如何使用這個TOTUPLE('user_id',id)
將C存儲到'cql:// ram_keyspace/users'USING CqlStorage();
例外:
了java.lang.RuntimeException:顯示java.lang.NullPointerException 在org.apache.cassandra.hadoop.cql3.CqlRecordWriter(CqlRecordWriter.java:123) 在有機.apache.cassandra.hadoop.cql3.CqlRecordWriter。(CqlRecordWriter.java:90) at org.apache.cassandra.hadoop.cql3.CqlOutputFormat.getRecordWriter(CqlOutputFormat.java:76) at org.apache.cassandra.hadoop。 cql3.CqlOutputFormat.getRecordWriter(CqlOutputFormat.java:57) at org.apache.pig.backend.hadoop。 executionengine.mapReduceLayer.PigOutputFormat.getRecordWriter(PigOutputFormat.java:84) 在org.apache.hadoop.mapred.MapTask $ NewDirectOutputCollector。(MapTask.java:627) 在org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask .java:753) at org.apache.hadoop.mapred.MapTask.run(MapTask.java:364) at org.apache.hadoop.mapred.Child $ 4.run(Child.java:255) 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:1190) at org .apache.hadoop.mapred.Child.main(Child.java:249) 引起:java.lang.NullPointerException at org.apache.cassand ra.hadoop.cql3.CqlRecordWriter。(CqlRecordWriter.java:109) ... 12更多
能和Cassandra一起使用Pig的人能幫我解決這個問題嗎?
什麼版本的Cassandra? – psanford
Cassandra版本是1.2.13 – user3207663