brianmhess / cassandra-loader

Delimited file loader for Cassandra
Apache License 2.0
197 stars 93 forks source link

Unable to load any Keyspace or column family with Capital letters in it #38

Closed upendramaris closed 8 years ago

upendramaris commented 8 years ago

Trying to load a csv into keyspace and column family which have capital letter in its naming convention. But unable to load them and receiving error as below.

D:>java -jar cassandra-loader -f SampleIDMaster_inserts.cql -host 127.0.0.1 -schema "SamplesMasterINFO.SampleIDMaster(rowkey,column1,value)" -user cassandra -pw cassandra SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in thread "main" java.util.concurrent.ExecutionException: com.datastax.driver.core.exceptions.InvalidQueryExce ption: Keyspace _samplesmasterinfo _does not exist at java.util.concurrent.FutureTask.report(Unknown Source) at java.util.concurrent.FutureTask.get(Unknown Source) at com.datastax.loader.CqlDelimLoad.run(CqlDelimLoad.java:558) at com.datastax.loader.CqlDelimLoad.main(CqlDelimLoad.java:599) Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: Keyspace _samplesmasterinfo _does not exist at com.datastax.driver.core.exceptions.InvalidQueryException.copy(InvalidQueryException.java:50) at com.datastax.driver.core.DriverThrowables.propagateCause(DriverThrowables.java:37) at com.datastax.driver.core.DefaultResultSetFuture.getUninterruptibly(DefaultResultSetFuture.java:245) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:63) at com.datastax.driver.core.AbstractSession.execute(AbstractSession.java:39) at com.datastax.loader.EnhancedSession.execute(EnhancedSession.java:50) at com.datastax.loader.RateLimitedSession.execute(RateLimitedSession.java:49) at com.datastax.loader.CqlDelimParser.schemaBits(CqlDelimParser.java:130) at com.datastax.loader.CqlDelimParser.processCqlSchema(CqlDelimParser.java:125) at com.datastax.loader.CqlDelimParser.(CqlDelimParser.java:68) at com.datastax.loader.CqlDelimLoadTask.setup(CqlDelimLoadTask.java:168) at com.datastax.loader.CqlDelimLoadTask.call(CqlDelimLoadTask.java:144) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: com.datastax.driver.core.exceptions.InvalidQueryException: Keyspace _samplesmasterinfo _does not exist at com.datastax.driver.core.Responses$Error.asException(Responses.java:136) at com.datastax.driver.core.DefaultResultSetFuture.onSet(DefaultResultSetFuture.java:179) at com.datastax.driver.core.RequestHandler.setFinalResult(RequestHandler.java:184) at com.datastax.driver.core.RequestHandler.access$2500(RequestHandler.java:43) at com.datastax.driver.core.RequestHandler$SpeculativeExecution.setFinalResult(RequestHandler.java:798) at com.datastax.driver.core.RequestHandler$SpeculativeExecution.onSet(RequestHandler.java:617) at com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:1005) at com.datastax.driver.core.Connection$Dispatcher.channelRead0(Connection.java:928) at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304) at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:266) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304) at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:276) at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:263) at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:318) at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:304) at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846) at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:131) at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112)

brianmhess commented 8 years ago

You need to double-quote the Keyspace, Table, or Column names to get case sensitivity. This is the way Cassandra treats case sensitive names (http://cassandra.apache.org/doc/cql3/CQL.html#identifiers)