Ladataan tietoja Biqquery Partitioned -taulukkoon Google Dataflow / Beam -ohjelman avulla write_truncaten avulla

Sirius 02/21/2017. 1 answers, 336 views
python google-bigquery google-bigquery google-cloud-dataflow google-cloud-dataflow apache-beam

Joten nykyinen asetus, jonka käytimme uuden taulukon luomiseen jokaiselle päivälle, joka toimi hienosti "WRITE_TRUNCATE" -vaihtoehdolla, mutta päivitettäessä koodimme käyttämään osioitua taulukkoa, vaikka tietovirtamallamme, se ei toimisi write_truncaten kanssa.

Se toimii täydellisesti, ja kirjoitusasetelma on asetettu nimellä "WRITE_APPEND" (siitä, mitä ymmärsin palkista , se yrittää ehkä poistaa taulukon ja luoda sen uudelleen), koska toimitan pöydän sisustajalle, se ei luo uutta pöytä.

Näytepätkä python-koodilla:

beam.io.Write('Write({})'.format(date), beam.io.BigQuerySink(output_table_name + '$' + date, create_disposition=beam.io.BigQueryDisposition.CREATE_NEVER, write_disposition=beam.io.BigQueryDisposition.WRITE_TRUNCATE) 

joka antaa virheen:

Table IDs must be alphanumeric

koska se yritti luoda taulukon uudelleen, ja toimitamme osion sisustajan argumenttiin.

Seuraavassa on muutamia asioita, joita olen yrittänyt:

  1. Write_disposition päivitys WRITE_APPEND: nä, vaikka se toimii, epäonnistuu, koska saman päivämäärän suorittaminen uudelleen kopioisi tiedot.
  2. käyttämällä

bq --apilog /tmp/log.txt load --replace --source_format=NEWLINE_DELIMITED_JSON 'table.$20160101' sample_json.json

komento, nähdäkö, voinko tarkkailla mitä tahansa lokeja, miten katkaisu todella toimii perustuen linkkiin, jonka löysin.

  1. Joitakin muita linkkejä , mutta tämä käyttää myös WRITE_APPEND.

Onko olemassa tapaa kirjoittaa osioituun taulukkoon datavirtamuodosta käyttäen write_truncate-menetelmää?

Haluaisin tietää, tarvitaanko lisätietoja. Kiitos

4 Comments
Pablo 02/21/2017
Epäonnistuminen taulukon luomiseksi partitaattorilla voi olla vika. Sallikaa minun tarkistaa ja palata sinuun.
Pablo 02/21/2017
Voitteko tarjota pinon jäljen "Taulukkotunnuksillesi on oltava aakkosnumeerisia"?
Pablo 02/21/2017
Tarkistin IO dev: lla. Näyttää siltä, ​​että tätä ei tueta nyt. : /
Sirius 02/22/2017
Kiitos vastauksesta Pablo :), toivoin vain, että se ei poista taulukkoa TRUNCATElle ja tyhjentää kaikki rivit kyseiselle osioille, mutta luulen, että se ei toimi näin.

1 Answers


community wiki 03/17/2017.

Näyttää siltä, ​​että tätä ei tueta tällä hetkellä. Luottamus menee @Pabloon selvittämiseksi IO devista.

Github-sivun Beam-dokumentaation mukaan heidän JIRA-sivunsa olisi tarkoituksenmukaista pyytää tällaista ominaisuutta. Suosittelen lähettämään ominaisuuspyynnön siellä ja lähettämällä linkin kommenttiin täällä, jotta muut yhteisön jäsenet voivat seurata ja näyttää heidän tukensa.

Related questions

Hot questions

Language

Popular Tags