Dans l'exemple donné ci-dessous, la dernière ligne n'est pas téléchargée. Je reçois une erreur:
This | is | test only | to check quotes second | line | "with quotes" | no text third line | with | "start quote" and | a word after quotes forth line | enclosed | {"GPRS","MCC_DETECTED":false,"MNC_DETECTED":false} | how does this work? fifth line | with | {"start quote"} and | a word after quotes
6 Réponses :
Remarque Vous pouvez modifier le caractère de devis en définissant le champ "devis" dans la configuration de chargement du travail sur quelque chose que vous n'utiliserez jamais.
Comment définir le champ de citation dans le travail de charge? Si j'utilise BQ Load --Quote '^' ... alors, je reçois une erreur Fatal Drapeaux Analysing Erreur: Unknown Command Line Drapeau 'Devis' # Si j'ajoute un paramètre de citation dans ~ / .bigquereryrc, puis je reçois une erreur: Configuration de l'indicateur inconnu .load.quote trouvé dans le fichier bigqueryryc
Je suppose que le paramètre "citation" sera ajouté à l'outil de ligne de commande BQ lors de la prochaine version. Ce problème est si important pour moi que j'attendrai la nouvelle version!
Vous pouvez utiliser les autres indicateurs également tout en téléchargeant les données. J'ai utilisé l'outil BQ avec des indicateurs suivants
bq load -F , --source_format CSV --skip_leading_rows 1 --max_bad_records 1 --format csv -E UTF-8 yourdatset gs://datalocation.
API V2 https://cloud.google.com/bigquery/docs /reference/v2/jobs#configuration.load.Quelle p> li>
commande bq --quote: Caractère de devis à utiliser pour joindre des enregistrements. La valeur par défaut est ". Pour indiquer aucun caractère de devis, utilisez une chaîne vide. P> li> ul>
Utilisation de - Devis CODE> a fonctionné parfaitement.
bq load
--source_format CSV --quote ""
--field_delimiter \t
--max_bad_records 10
-E UTF-8
destination table
Source files
Pour être clair, le point ici est que vous passez une corde vide au drapeau --quote
Essayez de charger chaque fois avec Je devais charger 1100 colonnes. En essayant avec la console avec toutes les options d'erreur, il a jeté beaucoup d'erreurs. Ignorer les erreurs de la console signifie perdre des enregistrements. P> a donc essayé avec la coquille et a réussi à charger tous les enregistrements. P> Essayez ce qui suit: p> références: p> BQ code> shell.
Essayez ceci comme alternative: p>
HOWN-TO: P>
Je viens d'essayer votre mise à jour et l'exemple que vous avez donné ne fonctionne pas réellement. Comme la plupart des applications d'analyse CSV, la bigquery par défaut considère que les guillemets doubles (") en tant que personnage de champ enferment. La 3ème ligne n'est pas échappée correctement (voir ma réponse ci-dessous) et que l'ingestion jette une erreur. Vos options sont: 1. Modifiez la "Configuration.load.quote" paramètre dans vos demandes d'ingestion à quelque chose d'autre que double citation (un caractère qui n'apparaît pas dans vos données). 2. Évitez vos données comme recommandées ci-dessous ... Par exemple, la classe CSV de Python fait-elle automatiquement.
Bien qu'il puisse y avoir du mérite en tenant compte de pouvoir faire des choses telles que définir "configuration.load.quote" à NULL, je pense qu'il est important d'être très explicite avec les délimiteurs et les champs de champs de champ lorsque vous travaillez avec de grandes quantités de données CSV. Il aide à attraper des erreurs dans les données sous-jacentes et à garantir que les données que vous ingérer sont valables.
Essayez d'aller à Thru Cloud SQL comme une alternative: Medium.com/google-Cloud/...