データをロードするためにtable文のハイブ建設の影響

だけでなく、データをロードするためにtable文の影響ハイブの建設?からかってるの?
Keguanは行きません!私は、テストデータを見てください。

A:table文のハイブ一般的な構成

 table文のハイブ外観建設:

externaltable_test存在しない場合は、外部表を作成します

        AA文字列、
        BBの文字列
(日付文字列)で仕切ら)
行形式区切り
で終わるフィールドを「|」
位置'/ハイブ/テーブル/ externaltable_test /'。

ハイブtable文の内側に構築された表

innertable_test存在しない場合は、テーブルを作成します

        AA文字列、
        BBの文字列
(日付文字列)で仕切ら)
行形式区切り
「|」で終わるフィールドを
位置'/ハイブ/テーブル/ innertable_test /'。

2:ハイブデータ読み込み速度

    500Mからのデータのコピーに関するデータ

通常の負荷負荷データ

    ロードデータINPATH '/ハイブ/テーブル/ table_test / table_test /日= 20190921' テーブルexternaltable_testパーティションに(日付= 20190921)。5.288

    パーティション(日付= 20190923)innertable_testテーブルにロードデータINPATH '/ハイブ/テーブル/ table_test / table_test /日= 20190923'。5.454

 

   これは、誰かが私をスプレー参照、テーブル内のデータをカットする必要があり、ちょうどメタデータの外観を変更することができます

   どのように外側と内側のテーブルには、できるだけ負荷データを高速

   しかし、それは真実です!

3:遅い負荷の秘密の外観

1.locationの役割

                    位置は、パスの外観を格納されたデータを使用して、指定されたが、その後、データをロードするとき、または内の位置にデータをカットされます

      異なる内側と外観が、削除されたとき、テーブル内のデータを削除するものではありません 

2.結論

                    場所の外観を開発する場合、その後、場所にデータをロードまたは遅すぎるデータローディングが得られ、データをカットします。

3.修理のバグの再テスト

                    読むためにtable文の建設の外観

     externaltable_test存在しない場合は、外部表を作成します
     (
             AA文字列、
             BBの文字列
     (日付文字列)で仕切ら)
     行形式区切り 
     「|」で終わるフィールドを。

 

     そして、テストデータをロードします:

     ロードデータINPATH '/ハイブ/テーブル/ table_test / table_test /日= 20190921' テーブルexternaltable_testパーティションに(日付= 20190921)。0.683

     そう、意識的により良いで指定した場所にデータをコピーする指定した場所の外観の建設やない~~~

4:インナーリフティング方式の負荷速度

    (日付= 20190922)LOCATION '/ハイブ/テーブル/ table_test / table_test /日= 20190922' パーティションを追加innertable_test表を改変すること。0.684

 

    これは、単にデータを管理する必要性を削除しない場合に、テーブルを削除して、テーブルへのリンクの似た外観を追加しました。このように、外側テーブル使用中かどうか。

    このテーブルには、テーブルの外観のテーブルに作るための方法は、外観ではないではありません。しかし、利用の外観上の個人的な感情少し良いです。

 

    ALTER TABLE externaltable_test  ADD PARTITION(ddate=20190920) LOCATION '/hive/table/table_test/dt=20190920';            6.829

    这是对有location的外表加载数据的测试,几乎和load的方式一样了,但是数据并没有剪切过去。具体原因还在探索。

おすすめ

転載: www.cnblogs.com/wuxiaolong4/p/11665948.html