ApacheHive一点一点进步(3)–动态分区表操作
本次主要介绍一下 hive 中的语法。比如bucket的建立,查询表结果查询表分区。 如何进行动态分区,同时在动态分区的过程中会遇到的问题解决。 以及在删除表及修改表结构的时候的语法,尤其是修改表结构,调整列顺序,这些语法是比较重要的。 BUCKET CREATE TA
本次主要介绍一下hive中的语法。比如bucket的建立,查询表结果查询表分区。
如何进行动态分区,同时在动态分区的过程中会遇到的问题解决。
以及在删除表及修改表结构的时候的语法,尤其是修改表结构,调整列顺序,这些语法是比较重要的。
BUCKET
CREATE TABLE page_view(viewTime INT, userid BIGINT, page_url STRING, referrer_url STRING, friends ARRAY<bigint>, properties MAP<string string>, ip STRING COMMENT 'IP Address of the User') COMMENT 'This is the page view table' PARTITIONED BY(dt STRING, country STRING) CLUSTERED BY(userid) SORTED BY(viewTime) INTO 32 BUCKETS #按照userid进行hash分组,同时按照viewTime排序ROW FORMAT DELIMITED FIELDS TERMINATED BY '1' #文件分割使用1进行处理 OLLECTION ITEMS TERMINATED BY '2' #数组分割使用2 MAP KEYS TERMINATED BY '3' #map分割使用3STORED AS SEQUENCEFILE;</string></bigint>
Browsing table and partitions
SHOW TABLES; SHOW TABLES 'page.*'; SHOW PARTITIONS page_view; DESCRIBE page_view; 列举出表的列名称,类型,备注 DESCRIBE EXTENDED page_view; 列举出表的列及其他属性 DESCRIBE EXTENDED page_view PARTITION (ds='2008-08-08'); 列举出表的分区属性
动态分区
FROM page_view_stg pvs INSERT OVERWRITE TABLE page_view PARTITION(dt='2008-06-08', country) SELECT pvs.viewTime, pvs.userid, pvs.page_url, pvs.referrer_url, NULL, NULL, pvs.ip, pvs.country注意的:hive.EXEC.MAX.dynamic.partitions.pernode(DEFAULT VALUE being 100) 每个mapper或者reducer任务最大创建分区个数。hive.EXEC.MAX.dynamic.partitions (DEFAULT VALUE being 1000) 一个DML创建的最大分区数量。hive.EXEC.MAX.created.files (DEFAULT VALUE being 100000) 创建的最大文件数量。SET hive.EXEC.dynamic.partition.mode=nonstrict;SET hive.EXEC.dynamic.partition=TRUE;
删除表或者分区
DROP TABLE pv_users;ALTER TABLE pv_users DROP PARTITION (ds='2008-08-08');
修改表
ALTER TABLE old_table_name RENAME TO new_table_name;ALTER TABLE old_table_name REPLACE COLUMNS (col1 TYPE, ...);ALTER TABLE tab1 ADD COLUMNS (c1 INT COMMENT 'a new int column', c2 STRING DEFAULT 'def val');CREATE TABLE test_change (a INT, b INT, c INT);ALTER TABLE test_change CHANGE a a1 INT; 将 a 列的名字改为 a1.ALTER TABLE test_change CHANGE a a1 STRING AFTER b; 将 a 列的名字改为 a1,a 列的数据类型改为 string,并将它放置在列 b 之后。新的表结构为: b INT, a1 string, c INT.ALTER TABLE test_change CHANGE b b1 INT FIRST; 会将 b 列的名字修改为 b1, 并将它放在第一列。新表的结构为: b1 INT, a string, c INT.
原文地址:ApacheHive一点一点进步(3)–动态分区表操作, 感谢原作者分享。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











仮想マシンを作成するときに、ディスクの種類を選択するように求められます。固定ディスクまたはダイナミック ディスクを選択できます。固定ディスクを選択した後でダイナミック ディスクが必要であることに気付いた場合、またはその逆の場合はどうすればよいでしょうか? いいですね!一方をもう一方に変換できます。この記事では、VirtualBox 固定ディスクをダイナミック ディスクに、またはその逆に変換する方法を説明します。ダイナミック ディスクは、最初は小さいサイズですが、仮想マシンにデータを保存するにつれてサイズが大きくなる仮想ハード ディスクです。ダイナミック ディスクは、必要なだけのホスト ストレージ スペースのみを使用するため、ストレージ スペースを節約するのに非常に効率的です。ただし、ディスク容量が増加すると、コンピュータのパフォーマンスがわずかに影響を受ける可能性があります。仮想マシンでは固定ディスクとダイナミック ディスクが一般的に使用されます

PyCharm は非常に人気のある Python 統合開発環境 (IDE) であり、Python 開発をより効率的かつ便利にするための豊富な機能とツールを提供します。この記事では、PyCharm の基本的な操作方法を紹介し、読者がすぐに使い始めてツールの操作に習熟できるように、具体的なコード例を示します。 1. PyCharm をダウンロードしてインストールします。 まず、PyCharm 公式 Web サイト (https://www.jetbrains.com/pyc) にアクセスする必要があります。

sudo (スーパーユーザー実行) は、一般ユーザーが root 権限で特定のコマンドを実行できるようにする、Linux および Unix システムの重要なコマンドです。 sudo の機能は主に次の側面に反映されています。 権限制御の提供: sudo は、ユーザーにスーパーユーザー権限を一時的に取得することを許可することで、システム リソースと機密性の高い操作を厳密に制御します。一般のユーザーは、必要な場合にのみ sudo を介して一時的な権限を取得できるため、常にスーパーユーザーとしてログインする必要はありません。セキュリティの向上: sudo を使用すると、日常的な操作中に root アカウントの使用を回避できます。すべての操作に root アカウントを使用すると、誤った操作や不注意な操作には完全な権限が与えられるため、予期しないシステムの損傷につながる可能性があります。そして

LinuxDeploy の操作手順と注意事項 LinuxDeploy は、ユーザーが Android デバイスにさまざまな Linux ディストリビューションを迅速に展開できるようにする強力なツールで、ユーザーはモバイル デバイスで完全な Linux システムを体験できます。この記事では、LinuxDeploy の操作手順と注意事項を詳しく紹介し、読者がこのツールをより効果的に使用できるように、具体的なコード例を示します。操作手順: Linux のインストールDeploy: まず、インストールします

おそらく多くのユーザーは、自宅に未使用のコンピュータを複数台持っており、長期間使用していなかったためにパワーオン パスワードを完全に忘れてしまったため、パスワードを忘れた場合の対処方法を知りたいと考えています。それでは、一緒に見てみましょう。 win10 起動パスワードの F2 キーを押し忘れた場合の対処方法 1. コンピューターの電源ボタンを押し、コンピューターの電源を入れるときに F2 キーを押します (コンピューターのブランドによって、BIOS に入るボタンが異なります)。 2. BIOS インターフェイスで、セキュリティ オプションを見つけます (コンピューターのブランドによって場所が異なる場合があります)。通常は上部の設定メニューにあります。 3. 次に、「SupervisorPassword」オプションを見つけてクリックします。 4. この時点で、ユーザーは自分のパスワードを確認できると同時に、その横にある [有効] を見つけて [無効] に切り替えることができます。

スマートフォンの普及に伴い、スクリーンショット機能は携帯電話を日常的に使用する上で必須のスキルの 1 つになりました。 Huaweiの主力携帯電話の1つであるHuawei Mate60Proのスクリーンショット機能は、当然のことながらユーザーの注目を集めています。今日は、誰もがより便利にスクリーンショットを撮れるように、Huawei Mate60Pro携帯電話のスクリーンショットの操作手順を共有します。まず、Huawei Mate60Pro携帯電話はさまざまなスクリーンショット方法を提供しており、個人の習慣に応じて自分に合った方法を選択できます。以下は、一般的に使用されるいくつかのインターセプトの詳細な紹介です。

PHP 文字列操作: スペースを効果的に削除する実用的な方法 PHP 開発では、文字列からスペースを削除する必要がある状況によく遭遇します。スペースを削除すると文字列がきれいになり、その後のデータ処理と表示が容易になります。この記事では、スペースを削除するための効果的かつ実践的な方法をいくつか紹介し、具体的なコード例を添付します。方法1: PHP組み込み関数trim()を使用する PHP組み込み関数trim()を使用すると、文字列の両端のスペース(スペース、タブ、改行などを含む)を削除でき、非常に便利で簡単です。使用します。

Discuz ドメイン名変更操作ガイド Discuz フォーラム システムを使用する過程で、フォーラムのドメイン名を変更する必要がある場合があります。ドメイン名を変更する必要があるか、ドメイン名解決の問題を修復する必要があることが考えられます。この記事では、Discuz フォーラム システムでドメイン名を変更する方法を詳しく紹介し、具体的なコード例をいくつか示します。 1. データのバックアップ 操作ミスによるデータの損失を防ぐために、操作を実行する前にデータをバックアップする必要があります。 Discuz では、バックグラウンド データ バックアップを使用できます。
