0

Cassandra には別の問題があります。Mysql のテーブルを .csv 形式でエクスポートし、Cassandra にインポートしました。Mysql テーブルには、日付と時刻型の日付と時刻が含まれています。Cassandra では、これらのフィールドを varchar として定義しています。そのため、.csv ファイルをインポートして以下のクエリを実行すると、エラーが表示されます: my query:

ResultSet rs = stmnt.ExecuteQuery("Select * from station info where IDstation = 1011 and IDinfo = 18412:);
while (rs.next) {
   System.out.println(rs1.getFloate(1) + "  " + 
                      rs1.getString(2) + "  " + 
                      rs1.getFloate(3) + " " + 
                      rs1.getString(4) + "  " + 
                      rs1.getInt(5) + "  " + 
                      rs1.getInt(6) + "  " + 
                      rs1.getString(7) + "  " + 
                      rs1.getFloate(8));
}

print コマンドの 7 番目のフィールドは日付です。

エラーは次のとおりです。

java.lang.NumberFormatException: For input String: "6/2/1962"
    at org.apache.cassandracql.jdbc.cassandraResultSet.getInt(CassandraResultSet.java:619)
    at org.apache.cassandracql.jdbc.cassandraResultSet.getInt(CassandraResultSet.java:590)

何を言っているのか理解できません...誰か助けてくれませんか?

4

2 に答える 2

1

スタックトレースが伝えていることを注意深く読んでください

java.lang.NumberFormatException: 入力文字列の場合: "6/2/1962" at org.apache.cassandracql.jdbc.cassandraResultSet. org.apache.cassandracql.jdbc.cassandraResultSet のgetInt (CassandraResultSet.java:619)。getInt (CassandraResultSet.java:590)

あなたが得ているエラーは、文字列を整数として取得しようとすることです。

于 2013-08-13T19:05:42.150 に答える
0

日付列が 7 番目の位置だけに来て、他のどこにも来ていないことを確認してください。列名を指定してクエリを改善することをお勧めします。たとえば、

SELECT Col1, Col2... FROM Table

これにより、列の順序の混乱が回避されます。

于 2013-12-07T13:11:20.877 に答える