come usare il carattere ascii per quotare in COPY in cqlsh

cassandra cql3 cqlsh csv sqlbulkcopy

Domanda

Sto caricando i dati da un grande file .csv in Cassandra usando la copia in cqlsh. Sto usando Cassandra 1.2 e CQL 3.0. Comunque dal momento che "fa parte dei miei dati devo usare qualche altro personaggio per caricare i miei dati, ho bisogno di usare qualsiasi carattere ASCII esteso. Ho provato vari approcci ma non ci riesco.

Il seguente funziona, ma è necessario utilizzare caratteri ASCII estesi per il mio scopo.

copy (<columnnames>) from <filename> where deleimiter='|' and quote = '"';
copy (<columnnames>) from <filename> where deleimiter='|' and quote = '~';

Quando do quote = 'ß', ottengo l'errore qui sotto:

: "quotechar" deve essere una stringa di 1 carattere

Consigli di Pls su come posso usare un carattere ASCII esteso per il parametro di quotazione ..

Grazie in anticipo

Risposta popolare

Ho avuto un problema simile e ho ispezionato il codice sorgente di cqlsh (è uno script python). Nel mio caso, stavo generando il csv con python, quindi si trattava di trovare i giusti parametri csv python.

Ecco le informazioni chiave da cqlsh:

    csv_dialect_defaults = dict(delimiter=',', doublequote=False,
                            escapechar='\\', quotechar='"')

Quindi se sei abbastanza fortunato da generare il tuo file .csv da python, è solo questione di usare il modulo csv con:

    writer = csv.writer(open("output.csv", 'w'), **csv_dialect_defaults)

Spero che questo aiuti, anche se non stai usando Python.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow