Exception in thread "main" java.lang.IllegalArgumentException: Some primary key columns are missing in RDD or have not been selected:sockpuppetuser
我的类定义如下:
private static class IPSockpuppetUser{
private String ip;
private String sockpuppetUser;
.......
使用如下语句将这个类的信息保存到cassandra:
javaFunctions(ipScockpuppetStream).writerBuilder("ks", "ipsockpuppetuser", mapToRow(IPSockpuppetUser.class)).saveToCassandra();
运行的时候报这个错误:
Exception in thread "main" java.lang.IllegalArgumentException: Some primary key columns are missing in RDD or have not been selected:sockpuppetuser
原因是在往cassandra写数据的时候,会将sockpuppetUser成员映射成cassandra表ipsockpuppetuser的sockpuppetUser列,但是cassandra是不区分大小写的,所以java代码找不到这一列,所以报错了
解决办法:将sockpuppetUser属性定义为sockpuppetuser