Bigquery の結合機能を改善するための作業が行われていることは知っていますが、ここで暴言を吐くわけではありませんが、結合を適切に使用できない場合、「テラバイト」セットのデータを「広告」として分析することは困難です。
OK、問題に戻ります。1 つは 600 MB で、もう 1 つは 50 MB の 2 つのテーブルがあります。結合を試みたところ、小さいテーブルを残す必要があるというエラーが表示されました。いくつかの調査を行ったところBigquery
、7MBを超える場合、両方のテーブルが大きいと見なされることがわかりましたか?
そこで、オンラインで見つけたいくつかのアドバイスに基づいて、問題の小さいテーブルのデータセットを選択し、それを新しいテーブルに保存しました。新しいデータ セットは 2 列で 12MB と 600K 行です。次に、クエリをもう一度試しましたが、まだ同じエラーが発生しています。
Query Failed : Error: Large table cdrs_test.geoIP_Left must appear as the leftmost table in a join query
geoIP_Left は 12 Megs、他のテーブルは 600 Megs です。
これはどういうわけか修正できますか、それとも私は逮捕されていますか? もしそうなら、結合をサポートする大きなデータセットを分析するために使用できる他のサービスについて知っている人はいますか?
編集: これは実際のクエリです。
SELECT COUNT(results.cc_card) AS count,
sum(results.sessiontime) AS time,
geoIP_Left.place AS place
FROM cdrs_test.cdrs_2010_5 AS results
JOIN cdrs_test.geoIP_Left AS geoIP_table
ON results.cc_card = geoIP_table.vcard
WHERE results.sessiontime > 0 AND results.countryName Contains 'India'
GROUP BY place;