2017-11-22 12 views
1

私はいくつかのデータ分析&機械学習を実行するために、サイトから約3年間の歴史的データを取得するためのツールに取り組んでいます。私は要求していたレポートの取得したGoogleアナリティクスレポートに重複行が表示される原因は何ですか?

寸法は以下のとおりです。

[ ga:cityId, ga:dateHour, ga:userType, ga:deviceCategory ]

そして、私の出発点は、(データが最終的に別の場所に住んでいるかもしれないが、我々が始まる十分な理由を持っているPostgresのDBにインポートすることですリレーショナルデータベース)。

私は、[ ga:cityId, ga:dateHour, ga:userType, ga:deviceCategory ]タプルのpostgresテーブルに対して一意のインデックスを定義しました。現在、インポートジョブは、そのタプルの複製のために、30000〜50000行ごとに定期的に失敗します。

重複した行を返す原因は何ですか?

一度に行が非常に時間がかかるので、インサートを1000行/文でバッチ処理しています。そのため、最善の回避策は、最初のインポート中に一意のインデックスを無効にすることですそれを再度有効にして、毎日新しいデータを毎日インポートします。他の戦略?

+0

私の初期テストではおそらく不幸になりました。私の日付範囲の終了日は "ライブ"で、おそらくページフェッチの間にページ境界が変わっていました。終了日が過去24時間を超える期間で実行している場合、重複は見られません。 –

答えて

2

時間範囲が一意である場合は、Googleから戻ってくるレポートが重複しないようにしてください。

あなたは、絶対または相対(提示する)日付を使用していますか?後者の場合、相対時間(すなわち、現在の時間)の進行によって引き起こされる期間の変化が重複を引き起こさないようにする必要があります。

相対時間を使用すると、データにギャップが生じることもあります。

+0

多かれ少なかれ、私は起こっていたと思っています - 時間範囲の終わりは "今"で、新しいデータが入った時間にまたがってテストが行​​われ、ページの境界がずれることがありました。 –

関連する問題