2016-06-21 16 views
1

Ich erstelle eine Textdatei, die von plink verwendet wird, um die Impala-Shell zu verwenden und eine insert-Anweisung mit -q auszuführen. Derzeit verwende ich Dummy-Daten von Wikipedia, um sicherzustellen, dass es keine Fehler enthält, bevor ich es in Wut benutze.Impala Shell query -q mit doppelten Anführungszeichen in der Zeichenfolge

Dies funktioniert in so ziemlich allen Fällen gut, außer für die folgenden (ich einige Bits geändert haben, aber das Ergebnis ist das gleiche):

impala-shell -c -k -q "INSERT INTO TABLE imaginarydatabasename.T_Test 
VALUES 
('Bob','Monkhouse','1928-06-01',2003,'An expert on the history of silent cinema and a film collector, Monkhouse presented Mad Movies in 1966. He wrote, produced, financed and syndicated the show worldwide. The show featured clips from comic silent films, many from his own private collection, some of which he had helped to recover and restore. This film collection was the cause of a court case at the Old Bailey in 1979. Having loaned Terry Wogan\'s son a film, Monkhouse was charged with attempting to defraud film distributors of royalties, but after two years the judge decided that there was no case to answer.[8] Many of the films in his collection were seized and not returned to Monkhouse.[9] In 2008, the British Film Institute was contacted by Monkhouse\'s daughter, Abigail, who asked if they would like to view the collection and provide some advice as to the best way of preserving it. Amongst the discoveries were many radio and TV shows long thought lost. Dick Fiddy, the archivist, said \"It\'s a huge, unwieldy collection which deals with a number of areas. It\'s not just film and TV. Initially, we found half a dozen TV shows that we knew to be missing.\" Amongst those shows rediscovered were many that feature Monkhouse himself, including The Flip Side, a 1966 play in which he starred as a television DJ with his own late night show, and the 1957/58 series of his comedy My Pal Bob including an episode in which he is suspected of an extramarital affair.[10] The archive consisted of 36,000 videotapes, going back to when Monkhouse first bought a home video recorder in 1966. His film archive began in the late 1950s. The entire Monkhouse film and television archive is now held by Kaleidoscope, including all the material previously held by the NFTVA. It was catalogued and restored to digital formats for a major event at Bafta on 24 October 2009. Chris Perry, of Kaleidoscope and Kaleidoscope Publishing, said: \"We are painstakingly transferring the important contents of the video tapes and restoring radio shows. There are many incredible finds, and the event [is] an exciting time for all concerned.\" In his final years, Monkhouse hosted a show on BBC Radio 2 called The Monkhouse Archive, in which he provided humorous links to clips of comedy acts spanning the previous 50 years.',1,2.5,'2016-06-21 14:41:25');" -i impala-server.com; 

Wenn ich das Teil innerhalb der äußeren doppelte Anführungszeichen kopieren (was wird von q) ausgeführt, fügen Sie es in Farbton und führen Sie es aus Ich habe keine Probleme.

Was ich glaube, ist, dass die doppelten Anführungszeichen in der fünften Spalte den -q Teil der Shell, dass der Abfragetext beendet hat.

Wie kann ich der Shell mitteilen, dass die doppelten Anführungszeichen sie nicht beenden?

Antwort

1

Es war die \

Sie haben es nicht einmal zu tun, nicht zweimal, sondern dreimal wie folgt:

impala-shell -c -k -q "INSERT INTO TABLE database.table 
VALUES 
('Bob','Monkhouse','1928-06-01',2003,'see if I can get \\\ to work...',1,2.5,'2016-06-21 14:41:25');" -i impala-server; 
1

Eine Möglichkeit, es zu testen, wäre, eine gerade Select-Anweisung anstelle der Einfügung auszuführen, um zu sehen, ob Impala-Shell in der Lage ist, die Abfrage auszuführen. Sehen Sie sich ein Beispiel aus Ihrem Code an. Ich konnte es ohne irgendwelche Probleme ausführen, aber dann, wenn ich eines der Escape-Zeichen loswerden würde, würde es aus, so dass ich glaube nicht, dass die Anführungszeichen das Problem verursachen.

impala-shell -i impala-server.com -c -k -q "select 'Bob','Monkhouse','1928-06-01',2003,'An expert on the history of silent cinema and a film collector, Monkhouse presented Mad Movies in 1966. He wrote, produced, financed and syndicated the show worldwide. The show featured clips from comic silent films, many from his own private collection, some of which he had helped to recover and restore. This film collection was the cause of a court case at the Old Bailey in 1979. Having loaned Terry Wogan\'s son a film, Monkhouse was charged with attempting to defraud film distributors of royalties, but after two years the judge decided that there was no case to answer.[8] Many of the films in his collection were seized and not returned to Monkhouse.[9] In 2008, the British Film Institute was contacted by Monkhouse\'s daughter, Abigail, who asked if they would like to view the collection and provide some advice as to the best way of preserving it. Amongst the discoveries were many radio and TV shows long thought lost. Dick Fiddy, the archivist, said \"It\'s a huge, unwieldy collection which deals with a number of areas. It\'s not just film and TV. Initially, we found half a dozen TV shows that we knew to be missing.\" Amongst those shows rediscovered were many that feature Monkhouse himself, including The Flip Side, a 1966 play in which he starred as a television DJ with his own late night show, and the 1957/58 series of his comedy My Pal Bob including an episode in which he is suspected of an extramarital affair.[10] The archive consisted of 36,000 videotapes, going back to when Monkhouse first bought a home video recorder in 1966. His film archive began in the late 1950s. The entire Monkhouse film and television archive is now held by Kaleidoscope, including all the material previously held by the NFTVA. It was catalogued and restored to digital formats for a major event at Bafta on 24 October 2009. Chris Perry, of Kaleidoscope and Kaleidoscope Publishing, said: \"We are painstakingly transferring the important contents of the video tapes and restoring radio shows. There are many incredible finds, and the event [is] an exciting time for all concerned.\" In his final years, Monkhouse hosted a show on BBC Radio 2 called The Monkhouse Archive, in which he provided humorous links to clips of comedy acts spanning the previous 50 years.',1,2.5,'2016-06-21 14:41:25'" 
+0

Es stimmt, wie die folgende recht glücklich war: 'Impalas -shell -c -k -q "select *, '\" Mr. \ Bobs Workshop' AS testthing from database.table "-B -o" Test.txt "--output_delimiter = '|' --print_header -i impala-server; ' Vielleicht sind es die eckigen Klammern oder andere Dinge in der ursprünglichen Zeichenfolge. Ich muss Trial & Error verwenden und sehen, was das Problem verursacht. –