Skip to content
Last updated

レガシーバルクインポートのヒントとコツ

この記事では、バルクインポートに関するヒントとコツについて説明します。

エラー解決: リモートXMLリソースへのアクセスに問題が発生しました

このエラーは、v0.16.7以前のバージョンで発生した可能性があります。

td import:jar_updateで以下のエラーが発生した場合は、次のいずれかの解決策を使用してエラーを解決してください。

エラーメッセージ:

Error: There was a problem accessing the remote XML resource
'http://central.maven.org/maven2/com/treasuredata/td-import/maven-metadata.xml'
(TreasureData::Command::UpdateError: An error occurred when fetching
from 'http://central.maven.org/maven2/com/treasuredata/td-import/maven-metadata.xml'.)

解決策1: TD Toolbeltバージョンの更新

このエラーは、v0.16.8またはそれ以降のバージョンで解決されています。

解決策2: 変数の設定

環境変数を設定することでエラーを回避できます。

$ export TD_TOOLBELT_JARUPDATE_ROOT=https://repo1.maven.org

プロキシサーバーの使用

データをアップロードできない場合は、ネットワークがプロキシを使用していないか確認してください。環境変数を設定することでプロキシを設定できます:

オペレーティングシステムオプション1オプション2
Windows$ set HTTP_PROXY=http://proxy_host:8080$ set HTTP_PROXY=http://user:password@proxy_host:8080
その他$ export HTTP_PROXY="proxy_host:8080"$ export HTTP_PROXY="user:password@proxy_host:8080"

並列処理によるパフォーマンスの向上

td import:autoは、並列処理を調整するための2つのオプション--parallel--prepare-parallelをサポートしています。

完全な構文リファレンスについては、TD Toolbeltコマンドリファレンスを参照してください。

$ td import:auto session name <files...>
--parallel NUM
--prepare-parallel NUM
  • Parallelは、データのアップロードに使用されるスレッド数を指定します。バルクインポートツールがネットワークを飽和させていない場合は、--parallelオプションの値を増やすことができます。デフォルトは2、最大は8です。
  • Prepare parallelは、データをローカルで圧縮するために使用されるスレッド数を指定します。通常、この数はマシンのCPUコア数と一致する必要があります。デフォルトは2、最大は96です。

最大のクエリパフォーマンスを実現するための時間列の指定

時間列がない場合は、'0'を指定しないでください。Treasure Dataはデフォルトでデータを時間別にパーティション分割します。データパーティショニングを参照してください。常に時間列を指定するか、現在の時刻を指定することをお勧めします。

Jar_Update自動更新の有効化または無効化の選択

自動jar_updateを有効/無効にするオプションは、td v0.11.2以降のバージョンに含まれています

環境変数フック: TD_TOOLBELT_JAR_UPDATE。

JARの自動更新はデフォルトで有効化されているか、変数が1の場合に有効化されます:

$ td import:prepare
$ TD_TOOLBELT_JAR_UPDATE=1 td import:prepare

JARの自動更新は変数が0に設定されると無効化されます:

$ TD_TOOLBELT_JAR_UPDATE=0 td import:prepare

ただし、この設定はtd import:jar_updateには影響しません。このコマンドは常にJARファイルを更新します。

タイムゾーンの確認

バルクインポートツールはTZ環境変数を使用します。バルクインポートのタイムゾーンが間違っていると思われる場合は、TZ環境変数を確認してください。

Shift_JISエンコーディング

shift_jisをエンコードする場合は、エンコーディングオプションを'-e Windows-31J'に設定する必要があります。

Time-Formatの使用

データソースの時刻フォーマットをバルクインポートに割り当てたい場合は、次の対応表に従って--time-formatを使用できます。

文字日付または時刻コンポーネント表現
Y,G世紀を含む年1996; 2006
y,g年の下2桁96; 06
m年の月01..12
B,b完全/省略形の月名January; Jan
d,e月の日、ゼロ/空白パディング数値01..31; 1…31
V週ベースの年の週番号数値01..53
j年の日数値0-365
A,a完全/省略形の曜日名テキストTuesday; Tue
H,k日の時数値00-23; 0-23
I,l日の時数値00-11; 0-11
M時の分数値00-59
S分の秒数値00-59
Lミリ秒数値000-999
P,pAM/PM; am/pmマーカーテキストAM; PM; am; pm
Z,zタイムゾーン一般的なタイムゾーンGMT-08:00; -0800
c年から秒までテキストTue Jan 1 14:00:00 2016
D,x年から日までテキスト01/01/16
F年から日までテキスト2016-01-01
T,X時から秒までテキスト14:00:00
r時から秒までam/pmテキスト02:00:00 pm
R時から分までテキスト14:00
n改行文字LF\n
tタブ文字Tab\t
%リテラル%文字%%