[PYTHON] Erstellen Sie mit BigQuery ein privates DMP ohne Anfangskosten und ohne Entwicklung
Private DMPs sind heutzutage beliebt, aber die meisten davon sind Schatzdaten (YBI).
Schatzdaten sind sehr nützlich (insbesondere td-js-sdk), aber etwas teuer.
Auf der anderen Seite ist BigQuery wegen seines niedrigen Preises und seiner Geschwindigkeit bei der Ausführung von Abfragen attraktiv, aber die Eingabe und Ausgabe von Daten ist im Vergleich zu Schatzdaten sehr unpraktisch.
Also habe ich mit GAE (Python) eine Anwendung erstellt, die eine einfache Verwendung wie Schatzdaten auf BigQuery realisiert.
Wenn Sie Ihren eigenen Quellcode verwenden, können Sie ihn ohne Entwicklung erstellen.
Quellcode: https://github.com/mats116/ElasticBigQuery
- Es steht Ihnen frei, Reparaturen durchzuführen. Wenn möglich, wären wir Ihnen dankbar, wenn Sie ein Problem oder eine Pull-Anfrage stellen könnten.
- Übrigens, es ist ein völlig individuelles Projekt, also hat es nichts mit dem Unternehmen zu tun, zu dem ich gehöre.
Elasticbigquery.appspot.com
läuft kostenlos, so dass Sie es frei treffen können, aber bitte tun Sie dies im Rahmen des gesunden Menschenverstandes.
In der Lage sein
Protokolle von [td-js-sdk] abrufen (http://docs.treasuredata.com/articles/javascript-sdk)
- Es funktioniert genau wie Schatzdaten, indem der Endpunkt wie unten gezeigt geändert wird.
--writeKey ist derzeit statisch, aber wir planen, die Erteilung und Verwaltung von Berechtigungen über den Bildschirm zu ermöglichen.
- Es wird nur JSONP unterstützt, das seit v1.4.0 zum Standard geworden ist.
--BigQuery ist nicht schemenlos, identifiziert es jedoch automatisch in der API und generiert automatisch Datasets und Tabellen.
- Der generierte Tabellenname hat am Ende ein Datum (UTC), z. B. "table_id + YYYYMMDD", wodurch er zu einer täglichen Tabelle wird.
- Als eindeutige Funktion werden die folgenden Parameter im URL-decodierten Zustand erfasst.
- td_path
- td_referrer
- td_url
pageviews.js
<script type="text/javascript">
var td = new Treasure({
host: 'elasticbigquery.appspot.com',
pathname: '/dmp/v1/event/',
writeKey: 'thie_is_static_setting_yet',
database: '<dataset_id>'
});
td.trackPageview('<table_id>');
</script>
Holen Sie sich Protokolle von Web Beacons
- Gibt ein transparentes GIF mit dem folgenden Endpunkt zurück.
//elasticbigquery.appspot.com/dmp/v1/beacon/<dataset_id>/measurement
- Sie können den GET-Parameter erhalten.
- Es gibt einige Parameter, die standardmäßig erfasst werden, z. B. Verweise.
Ausgabe der Cookie-ID
- Geben Sie "bqid" unter der GAE-Domain "xxx-xxx.appspot.com" aus.
--Bitte ändern Sie den Domain- und ID-Namen entsprechend dem Zweck.
- Sie können es am folgenden Endpunkt überprüfen.
- http://elasticbigquery.appspot.com/dmp/v1/bqid/get
- Wenn Sie dem Parameter GET
callback = hoge
hinzufügen, können Sie ihn wie JSONP verwenden.
Was ich von nun an tun möchte
Kontokontrolle
- Ich möchte Berechtigungen für BigQuery-Datasets über die Benutzeroberfläche für ein bei Oauth (Google) registriertes Konto erteilen können.
Kontrolle über writeKey
- Ich möchte einen writeKey über die Benutzeroberfläche ausgeben können. (Derzeit statisch)
――Es ist schwierig, jedes Mal auf den Cloud-Datenspeicher zu verweisen, also vielleicht Memocache?
Exportfunktion
- Ich möchte Abfrageergebnisse in S3 und Google Cloud Storage exportieren können.
――Ich frage mich, ob es auf nette Weise in Apps Script integriert werden kann
Impressionen
- Vollständig freeride zu td-js-sdk. ..
――Wenn ich es nicht in BigQuery eingefügt habe, habe ich es in die Task-Warteschlange gestellt, sodass ich es ziemlich sicher gemacht habe.
――Weil es sich um ein persönliches Projekt handelt, suchen wir ein Unternehmen, das die Überprüfung der GAE-Last durchführen kann.
――Ich bin nicht gut darin, UI zu erstellen, also hilf mir bitte.
* GAE-Bauweise
Als Referenz. Wenn Sie neu bei GAE sind, geben Sie Ihr Bestes.
Was vorzubereiten?
Ein Projekt erstellen
- Erstellen Sie ein neues Projekt in Google Developers Console.
- In Bezug auf den Standort von App Engine ist ** us-central ** Japan am nächsten
- Standardmäßig sollte ** BigQuery API ** aktiviert sein, aber nur für den Fall
Quellcode abrufen
- Da es auf GitHub veröffentlicht ist, klonen Sie es bitte entsprechend.
- https://github.com/mats116/ElasticBigQuery
Einstellungsänderung
--Öffnen Sie app.yaml
und benennen Sie das Projekt um
- In Bezug auf den Quellcode hier
Bereitstellen
- Bereitstellen über Google AppEngine Launcher.