[HADOOP] Google Analytics - 원시 데이터 로그 얻기
HADOOPGoogle Analytics - 원시 데이터 로그 얻기
Google 애널리틱스에 데이터를 보내는 앱이 있습니다. 이 데이터를 Hadoop 클러스터에 액세스하고 저장하는 데 관심이 있습니다. 나는이 원시 데이터가 로그의 형태로있을 것이라고 추측한다. 특히 user_id, 사용자가 검색 한 내용 및 앱에서 지불하기로 결정한 검색 옵션을보고 싶습니다.
어떻게해야합니까? 나는 완전히 GA에 익숙하지 않았고 나는 응용 프로그램을 위해 GA를 설정 한 사람이 아니 었습니다. 나는이 원시 데이터에 접근 할 수있는 방법이 있는지 알아보기 위해 노력하고있다.
Big Query를 사용할 수 없기 때문에 큰 쿼리를 사용할 수 없다는 점을 추가하고 싶습니다. 그리고 GA를 설정 한 사람들은 유니버설 애널리틱스로 업그레이드하는 데 관심이 없습니다.
어떤 도움 / 생각 / 제안도 환영합니다.
감사!
해결법
-
==============================
1.로그를 얻을 수있는 방법은 없지만 ..
로그를 얻을 수있는 방법은 없지만 ..
Google 애널리틱스 API를 사용하면 데이터를 시스템에서 추출 할 수 있습니다.
할 수있는 일에는 한계가 있습니다.
전문 Google 애널리틱스 고객이 GA에서 Big Query로 원시 데이터를 내보낼 수 있습니다. BigQuery에서 데이터를 내보내는 것은 무료이지만 저장 및 쿼리 처리는 사용량에 따라 가격이 책정됩니다.
합리적인 가격으로 연간 15 만 달러의 연회비로 프리미엄 분석
-
==============================
2.원래 질문에 대답해야하기 때문에 서버 호출 시스템을 복제하는 것 외에 실제 Google 애널리틱스 로그를 가져올 방법이 없습니다.
원래 질문에 대답해야하기 때문에 서버 호출 시스템을 복제하는 것 외에 실제 Google 애널리틱스 로그를 가져올 방법이 없습니다.
즉, 서버 호출을 수집 할 수있는 호스팅 된 웹 서버를 가리 키기 위해 analytics.js 스크립트의 수정 된 복사본을 사용해야합니다.
간단히 말하자면, 사이트의 조회수를 http://www.yourdatacollectionserver.com/collect?v=1&t=pageview [...] 대신에 http://www.google-analytics.com/collect?v=1&t=pageview [...]
이는 일반적인 Google 웹 로그 분석 태그와 함께 Google의 GTM과 같은 태그 관리자를 사용하여 쉽게 배포 할 수 있습니다.
그렇게하면 ETL이나 Snowplow 또는 Splunk 또는 선호하는 Python / perl / Ruby 텍스트 구문 분석 엔진을 사용하여 처리 할 수있는 웹 서버에 로그 항목을 효과적으로 생성 할 수 있습니다.
실제 원시 로그를 관리 할 수있는 것으로 처리하는 것은 귀하에게 달려 있습니다. 그리고 당신이 묻기 전에, 이것은 소급 적이 지 않습니다.
-
==============================
3.집계 된 데이터를 얻을 수 있습니다. Google 웹 로그 분석 API를 사용하여 Google 애널리틱스 계정에서 볼 수있는 데이터 원시 데이터를 얻으려면 프리미엄 사용자 여야합니다 (연간 150k). 프리미엄 사용자는 원하는 곳으로 Google BigQuery로 내보낼 수 있습니다.
집계 된 데이터를 얻을 수 있습니다. Google 웹 로그 분석 API를 사용하여 Google 애널리틱스 계정에서 볼 수있는 데이터 원시 데이터를 얻으려면 프리미엄 사용자 여야합니다 (연간 150k). 프리미엄 사용자는 원하는 곳으로 Google BigQuery로 내보낼 수 있습니다.
-
==============================
4.Google 애널리틱스 데이터를 클릭하여 클릭하면 데이터를 함께 참여할 수있는 방식으로 검색어를 만들 수 있습니다.
Google 애널리틱스 데이터를 클릭하여 클릭하면 데이터를 함께 참여할 수있는 방식으로 검색어를 만들 수 있습니다.
먼저 Google 애널리틱스에서 데이터를 준비해야합니다. 따라서 보낸 각 조회마다 해시 된 값 또는 clientId + 일부 타임 스탬프를 맞춤 측정 기준에 추가하십시오. 그러면 각 쿼리 결과에 참여할 수 있습니다.
예 : (이것이 Scitylana에서 우리가하는 방법입니다) 이 스크립트는 GA의 추적 스크립트에 연결되어 각 조회에 나중에 쿼리 결과를 바느질 할 수있는 키가 포함되어 있는지 확인합니다.
<script> var BindingsDimensionIndex = CUSTOM DIMENSION INDEX HERE; var Version = 1; function overrideBuildTask() { var c = window[window['GoogleAnalyticsObject'] || 'ga']; var d = c.getAll(); if (console) { console.log('Found ' + d.length + ' ga trackers') } for (var i = 0; i < d.length; i++) { var e = d[i]; var f = e.get('name'); if (console) { console.log(f + ' modified') } var g = e.get('buildHitTask'); if (!e.buildHitTaskIsModified) { e.set('buildHitTask', function(a) { window['_sc_order'] = typeof window['_sc_order'] == 'undefined' ? 0 : window['_sc_order'] + 1; var b = ['sl=' + Version, 'u=' + e.get('clientId'), 't=' + (new Date().getTime() + window['_sc_order'])].join('&'); a.set('dimension' + BindingsDimensionIndex, b); g(a); if (console) { console.log(f + '.' + a.get('hitType') + '.set.customDimension' + BindingsDimensionIndex + ' = ' + b) } }); e.buildHitTaskIsModified = true } } } window.ga = window.ga || function() { (ga.q = ga.q || []).push(arguments); if (arguments[0] === 'create') { ga(overrideBuildTask) } }; ga.l = +new Date(); </script>
물론 이제는 GA에서 가져온 모든 결과를 조인하는 스크립트를 만들어야합니다.
from https://stackoverflow.com/questions/26515033/google-analytics-getting-raw-data-logs by cc-by-sa and MIT license