рд╣рдо рд▓рдЧрд╛рддрд╛рд░ Google BigQuery рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ - рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛, рдЙрдирдХреЗ рдЖрджреЗрд╢ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╡рд┐рдЬреНрдЮрд╛рдкрди рд▓рд╛рдЧрддреЛрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЙрдиреНрд╣реЗрдВ рдЖрдкрд╕ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХреЗрдВред рдпрд╣ рд╣рдореЗрдВ рдХреНрдпрд╛ рджреЗрддрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдСрдирд▓рд╛рдЗрди рд╕реНрдЯреЛрд░ рд╣реИ рдФрд░ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдлреЛрди рдХрд░рдХреЗ рдСрд░реНрдбрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рд╕рд╛рдЗрдЯ рдкрд░ рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реИ, рддреЛ Google BigQuery рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдк рдЗрд╕рдХреЗ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреВрд░реНрд╡рд╡реНрдпрд╛рдкреА рд░реВрдк рд╕реЗ рд▓рд┐рдВрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдлрд╝рдирд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдкреВрд░реА рд░рд╛рд╣ рдХреЛ рдЯреНрд░реИрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рдкрд╣рд▓реА рдпрд╛рддреНрд░рд╛ рд╕реЗ рд▓реЗрдХрд░ рдПрдХ рдИрдВрдЯ рдФрд░ рдореЛрд░реНрдЯрд╛рд░ рд╕реНрдЯреЛрд░ рдореЗрдВ рдЦрд░реАрджрд╛рд░реА рддрдХ, рдФрд░ рдРрд╕реА рдСрдлрд╝рд▓рд╛рдЗрди рдмрд┐рдХреНрд░реА рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд╡рд┐рдЬреНрдЮрд╛рдкрди рдЕрднрд┐рдпрд╛рдиреЛрдВ рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░реЗрдВред
рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд╣рдорд╛рд░реЗ рдкрд╛рд╕
Google рдХреНрд▓рд╛рдЙрдб рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ
Google BigQuery рдореЗрдВ рдбреЗрдЯрд╛ рдЖрдпрд╛рдд рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 6 рдкрд╛рдпрдерди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВ: рдПрдлрд╝рдЯреАрдкреА; FTPS; HTTP (s); рдЗрдВрдЯрд░рдХреЙрдо; MySQL рдФрд░ SFTPред рдСрдкрд░реЗрд╢рди рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рд╕рдорд╛рди рд╣реИ: HTTP POST рдЕрдиреБрд░реЛрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд░реЛрдд рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ Google BigQuery рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрдпрдирд┐рдд рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдореМрдЬреВрдж рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдмреБрдирд┐рдпрд╛рджреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ
- рд╕рдХреНрд░рд┐рдп рдмрд┐рд▓рд┐рдВрдЧ рдХреЗ рд╕рд╛рде Google рдХреНрд▓рд╛рдЙрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░реЗрдВред
- рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ (BigQuery рдбреЗрдЯрд╛ рдХреА "рд╕рдВрдкрд╛рджрдХ" рднреВрдорд┐рдХрд╛) рдФрд░ BigQuery рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕реЗрд╡рд╛ рдЦрд╛рддреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рдХрд╛рд░реНрдп (рдмрд┐рдЧрд╡рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рднреВрдорд┐рдХрд╛) рдЬрд╣рд╛рдВ рддрд╛рд▓рд┐рдХрд╛ рдЕрдкрд▓реЛрдб рдХреА рдЬрд╛рдПрдЧреА;
- рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ POST рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ HTTP рдХреНрд▓рд╛рдЗрдВрдЯред
рд╕реЗрдЯрдЕрдк рдЪрд░рдг
рдирд╛рдо: рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ftp-bq- рдПрдХреАрдХрд░рдг рдпрд╛ рдХреЛрдИ рдЕрдиреНрдп рдЙрдкрдпреБрдХреНрдд рдирд╛рдо;
рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА: рд╕рдВрд╕рд╛рдзрд┐рдд рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ 2 рдЬреАрдмреА рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо;
рдЯреНрд░рд┐рдЧрд░: HTTP;
рд╕реНрд░реЛрдд рдХреЛрдб: рдирд┐рд░реНрдорд┐рдд рд╕рдВрдкрд╛рджрдХ;
рд░рдирдЯрд╛рдЗрдо рдкрд░реНрдпрд╛рд╡рд░рдг: рдкрд╛рдпрдерди 3. рдПрдХреНрд╕ред
- рдореЗрдирдбреНрд░реЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХрдВрдЯреЗрдВрдЯ рдХреЛ рдмрд┐рд▓реНрдЯ-рдЗрди рдПрдбрд┐рдЯрд░ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ, рдЯреИрдм рдореЗрдирдбреЛрдоред
- рдмрд┐рд▓реНрдЯ-рдЗрди рдПрдбрд┐рдЯрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ.txt рдЯреИрдм рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдПрдБред
- Ftp / ftps / https рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣, рдЬрд┐рд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рдореЙрдбреНрдпреВрд▓ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
- рдЕрддрд┐рд░рд┐рдХреНрдд рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ, 60 рд╕реЗрдХрдВрдб рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд╛ рд╕рдордп рдмрдврд╝рд╛рдПрдВред 540 рд╕реЗрдХрдВрдб рддрдХред рдпрд╛ рдЫреЛрдЯреА, рд╕рдВрд╕рд╛рдзрд┐рдд рдХреА рдЬрд╛ рд░рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред
- "рдмрдирд╛рдПрдБ" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВред
рдпрд╣ рдореЙрдбреНрдпреВрд▓ Google рдХреНрд▓рд╛рдЙрдб рдореЗрдВ Google рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ FTP (FTPS, SFTP) рд╕рд░реНрд╡рд░ рд╕реЗ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рд╕реЗ Google рдмрд┐рдЧрд╡рд┐рдХ рдкрд░ рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЙрдкрдпреБрдХреНрдд рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рднреА рдЙрдкрдпреБрдХреНрдд рдПрдХреНрд╕рдЯреЗрдВрд╢рди (.json, .txt, .csv) рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдирд┐рдореНрди рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: JSON (newline-delimited) рдпрд╛ рдХреЙрдорд╛-рд╕реЗрдкрд░реЗрдЯреЗрдб рд╡реИрд▓реНрдпреВ (CSV)ред
рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
from urllib import urlencode from httplib2 import Http trigger_url = "https://REGION-PROJECT_ID.cloudfunctions.net/ftp/" headers = { "Content-Type": "application/json" } payload = { "ftp": { "user": "ftp.user_name", "psswd": "ftp.password", "path_to_file": "ftp://server_host/path/to/file/" }, "bq": { "project_id": "my_bq_project", "dataset_id": "my_bq_dataset", "table_id": "my_bq_table", "delimiter": ",", "source_format": "NEWLINE_DELIMITED_JSON", "location": "US" } } Http().request(trigger_url, "POST", urlencode(payload), headers = headers)
HTTPS рд╕рд░реНрд╡рд░ рд╕реЗ Google BigQuery рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ред
рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
from urllib import urlencode from httplib2 import Http trigger_url = "https://REGION-PROJECT_ID.cloudfunctions.net/https/" headers = { "Content-Type": "application/json" } payload = { "https": { "path_to_file": "https://server_host/path/to/file/", "user": "https.user_name", "psswd": "https.password" }, "bq": { "project_id": "my_bq_project", "dataset_id": "my_bq_dataset", "table_id": "my_bq_table", "delimiter": ",", "source_format": "CSV", "location": "US" } } Http().request(trigger_url, "POST", urlencode(payload), headers = headers)
Google рдХреНрд▓рд╛рдЙрдб рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдЯрд░рдХреЙрдо рд╕реЗ Google рдмрд┐рдЧрд╡рд┐рдХ рд╕реЗ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореЙрдбреНрдпреВрд▓ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдореЙрдбреНрдпреВрд▓ рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдХреЙрдо рд╕реЗ рдРрд╕реА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдХрдВрдкрдирд┐рдпрд╛рдВ, рд╕рдВрдкрд░реНрдХ, рдкреНрд░рд╡реЗрд╢, рд╡рд╛рд░реНрддрд╛рд▓рд╛рдк, рдЯреАрдо, рдЯреИрдЧ, рд╕реЗрдЧрдореЗрдВрдЯред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореЙрдбреНрдпреВрд▓ рдХрд╕реНрдЯрдо рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
from urllib import urlencode from httplib2 import Http trigger_url = "https://REGION-PROJECT_ID.cloudfunctions.net/intercom/" headers = { "Content-Type": "application/json" } payload = { "intercom": { "accessToken": "INTERCOM ACCESS TOKEN", "entities": [ "users", "companies", "contacts", "admins", "conversations", "teams", "tags", "segments" ] }, "bq": { "project_id": "YOUR GCP PROJECT", "dataset_id": "YOUR DATASET NAME", "location": "US" } } Http().request(trigger_url, "POST", urlencode(payload), headers = headers)
Google рдХреНрд▓рд╛рдЙрдб рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ MySQL рд╕рд░реНрд╡рд░ рд╕реЗ Google BigQuery рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдорд╛рдзрд╛рди рдЖрдкрдХреЛ MySQL рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ Google BigQuery рдХреЛ рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
from urllib import urlencode from httplib2 import Http trigger_url = "https://REGION-PROJECT_ID.cloudfunctions.net/mysql/" headers = { "Content-Type": "application/json" } payload = { "mysql": { "user": "mysql.user", "psswd": "mysql.password", "host": "host_name", "portтАЭ: 3306, "database": "database_name", "table_id": "table_name", "query": "SELECT * FROM table_name" }, "bq": { "project_id": "my_bq_projec", "dataset_id": "my_bq_dataset", "table_id": "my_bq_table" } } Http().request(trigger_url, "POST", urlencode(payload), headers = headers)
рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдкреНрд░рд▓реЗрдЦрди рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рд░реАрдбрдореА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдпрд╣ рдХреЗрд╡рд▓ рд╢реБрд░реБрдЖрдд рд╣реИ, рдФрд░ рдЕрдм рд╣рдо Bitrix рдФрд░ amoCRM рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╡реЗ рд╣рдорд╛рд░реЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рдмреАрдЪ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВред рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдХрд┐рди рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреНрдпрд╛ рдПрдХреАрдХрд░рдг рд╣реИрдВред