問題タブ [hiveddl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - テーブルをすべての値で分割するにはどうすればよいですか?
外部テーブルがあり、パーティションを追加したいと考えています。私は 224 の一意の都市 ID を持っており、書きたいだけですが、都市 ID の値alter table my_table add partition (cityid) location /path;
に何も提供していないとハイブが文句を言いますalter table my_table add partition (cityid=VALUE) location /path;
。alter table
、どうすればすべてのIDを一度に行うことができますか?
ハイブのコマンド ラインは次のようになります。
失敗: ValidationFailureSemanticException テーブルはパーティション分割されていませんが、パーティション仕様が存在します: {cityid=null}
hadoop - ハイブの外部テーブルとの混乱
以下のコマンドを使用してハイブ外部テーブルを作成しました。
ここで、HDFS を表示すると、データベースは表示されますがdepTable
、倉庫内には表示されません。
上記では、この DB に作成されたテーブルがないことがわかります。私の知る限り、外部テーブルはハイブ ウェアハウスに格納されていません。はいの場合、どこに保存されますか??
しかし、最初に外部テーブルを作成してからデータをロードすると、内部のファイルを見ることができますhive2.db
。
ここで、hadoop fs
クエリを起動すると、次のようにデータベースの下にこのテーブルが表示されます。
テーブルを削除しても、次のように HDFS にテーブルが表示されます。
では、外部テーブルの正確な動作は何ですか?? usingLOCATION
キーワードを作成すると、どこに保存さload
れHDFS
ますか。