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

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

## エラー解決: リモート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または[それ以降のバージョン](/tools/cli-and-sdks/td-toolbelt)で解決されています。

### 解決策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コマンドリファレンス](/tools/cli-and-sdks/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はデフォルトでデータを時間別にパーティション分割します。[データパーティショニング](https://docs.treasuredata.com/smart/project-product-documentation/data-partitioning-in-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,p | AM/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 |
| % | リテラル%文字 | % | % |