符号化のためのヌル値を2.10sqoop

英語でのApache Sqoopクックブック-翻訳!!学ぶ
詳しい情報をhttps://blue-shadow.top/

ヌル値をコード2.10対

問題

あなたが欠落値をエンコードするために別の値を使用して、下流(ハイブクエリ、カスタマイズされたMapReduce、豚スクリプト)を扱うヌルヌルデータ使用の列の値の代わりに、sqoop、あなたはこのデフォルトを上書きしたいです。

ソリューション

使用できる--null文字列--null-nonstringヌルの任意の値は、例えば、で使用され、交換されたパラメータ値を
\ Nを書き換えるためのコマンド

sqoop import \
--connect jdbc:mysql://mysql.example.com/sqoop \
--username sqoop \
--password sqoop \
--table cities \
--null-string '\\N' \
--null-non-string '\\N'

話し合います

ほぼすべてのリレーショナルデータベースのは、あなたは、任意のタイプの列を定義することができ、そして列が空であることを可能にするために提供されます。欠損値は、一般的にヌルとして分類されています。
TRUE FALSEたとえば、カラム型bool値は、一般的に2つの領域を含みます。あなたがテーブルを作成するときに、明示的にこの列の値が空であることができたときに加えて、この値は、NULL値であることを許可することが可能
で列の通常タイプに添付頻繁にnull値を格納するための余分なバイトのデータベースとして。
インポートデータSqoopサポートするので、それが欠落している値nullをサポートする必要がある特定の符号化形式のデータにネイティブではないが、一般的に、文字列定数ヌルSqoopは、欠損値の代わりに使用します。
このデフォルトの文字列定数は、あなたのニーズに適切ではないかもしれないが、それはあなたの正常値または異なる値に、ご希望の下りデータを交換するNULL値と同じデータ列が含まれています。
他のコンポーネントを考慮すると、より簡単に別のケースを区別するために欠損値を扱うsqoop、Hadoopのエコシステムを統合しました。

  • このようなタイプによって文字列VARCHAR、文字、テキスト、またはいくつかの他の使用として、列ベース--null列置換文字列のデフォルトパラメータをオーバーライドします。
  • 他のタイプの場合、パラメーター--null-nonstringパラメータは、デフォルトの置換文字列を上書きします。
  • さまざまな種類のコネクタが異なる置換文字列の使用をサポートしていない可能性については、これはあなたが2つのコマンドのパラメータに同じ値を指定する必要があることになります。

ます。https://www.jianshu.com/p/066e56b36047で再現

おすすめ

転載: blog.csdn.net/weixin_34174322/article/details/91186128