このブログは、ハイブとMySQLの構築に焦点を当てています。
終了日の学習ビデオは、私が構築された自分自身を読んだことがあるMySQLは最終的には良いMySQLを建て、その後、仕上げを解決するために、ほぼ2日間を過ごし、ピットの束に会いました。そして、ハイブを構築するために行き、ピットの多くを満たし、これはインターネット検索やログを確認するために個人的な調査に連結された問題を解決することでした。Baiduは、ビング、見CSDNを検索Baiduのない、検索strackflowを参照してください、そして最終的に仕事が報わ、およびMySQLのハイブの成功は、アップを実行します。ここで私は、元の状態を復元し、将来の世代のピットを防止しながらピットは、レコードに一緒に遭遇しました。
内蔵の環境:
Centos7、MySql14.14、Hive2.3.6
MySQLをビルドします。
私は新人のチュートリアルを構築するための手順を参照してください: https://www.runoob.com/mysql/mysql-install.html
遭遇したピットを構築するために、上記の手順を参照:
ピット1:インストール後、rootユーザーアカウントを使用するパスワードとパスワードはERROR 1045(28000)の報告:アクセスが拒否されました :(YESパスワードを使用して)ユーザルート'@「localhost」のためのエラー、ソリューションのクリックを。
ハイブをビルドします。
私はビルドステップを参照してください。 https://www.cnblogs.com/dxxblog/p/8193967.html
遭遇する上記ステップにハング参照:$ {[スタート絶対URIでスロー相対パスハイブシステム:java.io.tmpdirの%7D / $%7Bsystem:user.name%7D 異常、溶液クリックを。
操作ハイブ:
私は環境の下でピットについてお話しましょう:
ピット1:私はハイブでは問題をクエリ操作を実行しないが、テーブル構造を削除するための時間は、次の例外がスローされますとき:
ドロップ表tableNameを実行します。
実行エラー、org.apache.hadoop.hive.ql.exec.DDLTaskからの戻りコード1 MetaException。(メッセージ:.直接メタストアDB接続の場合、我々はクライアントレベルで再試行をサポートしていません)
この文の意味はありませんこの操作をサポートし、SQLが間違っていないです。この理由は、我々はMySQLの接続- java.jar(使用MySQLのJDBC操作パッケージ)間違ったバージョンのLIBハイブに追加する前に、私は、mysqlの接続-javaの-5.1.18.jar前に使用後に変更したことですmysqlの接続-javaの-5.1.47.jarの十分に。
あなたが右でない場合は、交換して下さいパケット接続を
ケース1(ハイブで内部テーブルを作成します):
Linuxのファイルシステム内の場所についてvisits.txtとvisits.hiveを作成します。
真ん中が\ T分割された以下のものを追加してVisits.txtファイル
一つうち18701223481 朝陽区、北京 ポイズンガード18498778212 蘇州市、江蘇省 海ベーブ15099334981閔行区、上海
visits.hiveに参加するためにデータベースを作成します。
テーブルpeople_visitsを作成します ( USER_NAMEの文字列、 携帯電話の文字列、 アドレス文字列 ) 行フォーマット区切り 終了フィールド「\トン」 ;
ハイブ内people_visitsテーブルの作成
ハイブ-f visits.hive
その後、ハイブのショーのテーブルを使用します。あなたは、テーブルを見ることができます。しかし、データが空です。次に、その後、HDFSを見ることができるようにvisits.txtファイルデータを提出するクエリデータをコマンドを使用します。
HadoopのFS -put visits.txt /ユーザー/ハイブ/倉庫/ people_visits
Webブラウザを使用すると、ファイルのアップロードを見ることができます:
ケース2 :(ハイブの外部表を作成します)
ローカルのLinuxファイルを見つけるexternalHive.txtフォルダのファイルを作成します。
CD /データ/
タッチexternalHive.txt
編集したファイルには、次を追加します
vimのexternalHive.txt
トマト11個の 桃22
注:(上記の文字は、タブキー部門を使用します)
HDFSでは内に新しいフォルダhivetestを作成します
HadoopのFS -mkdir /ユーザー/ルート/ hivetest
アップロードは、HDFSにファイル
HadoopのFS -put externalHive.txt /ユーザー
ハイブへ価格表の外側を作成します
巣箱 外部表priceVisitsを作成します ( 名前の文字列、 価格INT ) 行フォーマット区切り フィールズによって終了「\ T 」 LOCATION 「/ユーザ/ルート/ hivetest 」 ; -指定パステーブル
priceVisitsテーブル内部にデータをアップロードします
巣箱 負荷データ入力「/user/externalHive.txt 」テーブルpriceVisitsに。
クエリpriceVisits表は、データを見ることができます
選択 * から priceVisits。
削除priceVisitsテーブル:
テーブルpriceVisitsをドロップ。
参照表を削除しますが、データは削除されません、これは、外部表の役割であります
ケース3:統合クエリ
質問