Linux DSN の構成
このセクションでは、以下のいくつかのLinux ディストリビューションでODBC 接続をセットアップしDSN を設定する方法を説明します:Ubuntu のようなDebian ベースのシステム、Red Hat Enterprise Linux (RHEL)、およびFedora のようなRed Hat Linux プラットフォーム。
Linux の最小バージョン
Red Hat ベースおよびDebian ベースシステムでサポートされる最小バージョンは以下のとおりです。
OS | Min. Version |
Ubuntu | 18.04 |
Debian | 10 |
RHEL | 8 |
Fedora | 28 |
SUSE | 15 |
ドライバー依存関係のインストール
必要な依存関係をインストールするには、次のコマンドをルートとしてまたはsudo で実行します。
- Debian/Ubuntu:
apt-get install libc6 libstdc++6 zlib1g libgcc1
- RHEL/Fedora:
yum install glibc libstdc++ zlib libgcc
ドライバーのインストール
標準のパッケージ管理システムを使用してドライバーをインストールできます。
Ubuntu のようなDebian ベースのシステムでは、次のコマンドをroot またはsudo で実行します。
dpkg -i /path/to/driver/setup/ParquetODBCDriverforUnix.deb
RPM パッケージ形式をサポートするシステムでは、次のコマンドをroot またはsudo で実行します。
rpm -ivh /path/to/driver/ParquetODBCDriverforUnix.rpm
ドライバーのライセンス
次のコマンドを実行して本製品 のライセンスを取得します。評価版をアクティベートするには、<key> の入力を省略してください。
cd /opt/cdata/cdata-odbc-driver-for-parquet/bin/
sudo ./install-license.sh <key>
ドライバーマネージャー経由の接続
ドライバーマネージャーはドライバーをロードし、アプリケーションからドライバーに関数呼び出しを渡します。本製品 をドライバーマネージャーに登録して、ドライバーマネージャーのコンフィギュレーションファイルにDSN を定義する必要があります。
本製品 のインストールでは、本製品 をunixODBC ドライバーマネージャーに登録し、システムDSN を作成します。UnixODBC ドライバーマネージャーは、Python やその他多くのアプリケーションから使用できます。アプリケーションに別のドライバーマネージャーが組み込まれている可能性があります。
DSN の作成
unixODBC をインストールしてDSN を設定するには、unixODBC の使用 を参照してください。OBIEE、Informatica、およびSAS に接続するDSN を作成するには、DataDirect ドライバーマネージャーの使用 を参照してください。
CData ODBC Driver for Parquet を使用すると、ローカルおよびリモートのParquet リソースに接続できます。データソースへの接続に必要なプロパティに加えて、URI プロパティをParquet リソースの場所に設定します。
ローカルファイルへの接続
ConnectionType をLocal に設定します。ローカルファイルは、SELECT\INSERT をサポートします。
URI をParquet ファイルを含むフォルダに設定します。 C:\folder1。
同じスキーマを共有する複数のParquet ファイルに接続することもできます。以下は接続文字列の例です。
URI=C:\folder; AggregateFiles=True;
個々のParquet ファイルをすべてテーブルとして公開したい場合は、このプロパティをFalse のままにしてください。
URI=C:\folder; AggregateFiles=False;
Cloud-Hosted Parquet ファイルへの接続
本製品 はさまざまなクラウドストレージ上にホストされたParquet ファイルからデータを取得することができますが、INSERT、UPDATE、DELETE はローカルファイル以外ではサポートされていません。クラウド上のファイルをINSERT、UPDATE、DELETE する必要がある場合は、そのクラウドサービスに対応するCData 本製品 をダウンロードし(ストアドプロシージャでサポートされています)、ローカルファイルの対応する本製品 に変更を加え、そのクラウドソース用のストアドプロシージャを使ってファイルをアップロードできます。
例えば、SharePoint 上に格納されたファイルをアップデートしたい場合、CData SharePoint 本製品 のDownloadDocument プロシージャを使用してParquet ファイルをダウンロードし、CData Parquet 本製品 でローカルのParquet ファイルをアップデートして、最後にSharePoint 本製品 のUploadDocument プロシージャを使って変更されたファイルをSharePoint にアップロードできます。
URI 接続プロパティの先頭にある一意の接頭辞は、本製品 が対象とするクラウドデータストアを識別するために使用され、残りのパスは目的のフォルダ(1ファイルにつき1テーブル)または単一ファイル(単一テーブル)への相対パスとなります。
Amazon S3
Amazon S3 に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:ConnectionType をAmazon S3 に設定。
- URI:バケットおよびフォルダ:s3://bucket1/folder1 に設定。
- Volume およびBucket を作成し、そのバケット:s3://linktobucket/ にsymbolic link を作成した後、Cloudera Ozone に保存されているParquet リソースに接続することもできます。
Amazon S3 でホストされているParquet ファイルへの接続および認証について詳しくは、Amazon S3 への接続 を参照してください。
Azure Blob Storage
Azure Blob Storage に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:Azure Blob Storage に設定。
- URI:コンテナの名前およびBlob の名前に設定。例えば、azureblob://mycontainer/myblob です。
Amazon Blob Storage でホストされているParquet ファイルへの接続および認証について詳しくは、Azure Blob Storage への接続 を参照してください。
Azure Data Lake Storage
Azure Data Lake Storage に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:Azure Data Lake Storage Gen1、Azure Data Lake Storage Gen2、またはAzure Data Lake Storage Gen2 SSL に設定。
- URI:ファイルシステムの名前およびParquet ファイルにコンタクトするフォルダの名前 に設定。次に例を示します。
- Gen 1:adl://myfilesystem/folder1
- Gen 2:abfs://myfilesystem/folder1
- Gen 2 SSL:abfss://myfilesystem/folder1
Azure Data Lake Storage でホストされているParquet ファイルへの接続および認証について詳しくは、Azure Data Lake Storage への接続 を参照してください。
Azure File Storage
接続するには次のプロパティを設定します。
- ConnectionType:Azure Files に設定。
- URI:Azure ファイル共有の名前とリソースの名前に設定。例:azurefile://fileShare/remotePath。
- AzureStorageAccount(必須):Azure ファイルに紐づいているアカウントに設定。
Azure アクセスキーまたはAzure 共有アクセス署名のいずれかで認証できます。次のいずれか1つを設定してください。
- AzureAccessKey:Azure ファイルに紐づいているアクセスキーに設定。
- AzureSharedAccessSignature:Azure ファイルに紐づいている共有アクセス署名に設定。
Box
Box に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:Box に設定。
- URI:ファイルシステムの名前およびParquet ファイルにコンタクトするフォルダの名前 に設定。例えば、box://folder1です。
Box でホストされているParquet ファイルへの接続および認証について詳しくは、Box への接続 を参照してください。
Dropbox
Dropbox に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:Dropbox に設定。
- URI:Parquet ファイルを含むフォルダへのパス に設定。例えば、dropbox://folder1 です。
Dropbox でホストされているParquet ファイルへの接続および認証について詳しくは、Dropbox への接続 を参照してください。
FTP
本製品 は、FTP サーバーへのプレーンテキスト接続およびSSL/TLS 接続の両方をサポートします。
次の接続プロパティを設定して接続します。
- ConnectionType:FTP またはFTPS のいずれかに設定。
- URI:ルートフォルダとして使用されるフォルダへのパスが付いたサーバーのアドレス に設定。例:ftp://localhost:990/folder1 またはftps://localhost:990/folder1。
- User:接続するFTP(S) サーバーのユーザー名に設定。
- Password:接続するFTP(S) サーバーのパスワードに設定。
Google Cloud Storage
Google Cloud Storage に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:Google Cloud Storage に設定。
- URI:ファイルシステムの名前およびParquet ファイルにコンタクトするフォルダの名前 へのパスに設定。例えば、gs://bucket/remotePath です。
Google Cloud Storage でホストされているParquet ファイルへの接続および認証について詳しくは、Google Cloud Storage への接続 を参照してください。
Google Drive
Google Drive に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:Google Drive に設定。
- URI:ファイルシステムの名前およびParquet ファイルにコンタクトするフォルダの名前 へのパスに設定。例えば、gdrive://folder1 です。
Google Drive でホストされているParquet ファイルへの接続および認証について詳しくは、Google Drive への接続 を参照してください。
HDFS
HDFS に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:HDFS またはHDFS Secure に設定。
- URI:Parquet ファイルを含むフォルダへのパス に設定。次に例を示します。
- HDFS:webhdfs://host:port/remotePath
- HDFS Secure:webhdfss://host:port/remotePath
- Cloudera Ozone(HttpFS ゲートウェイ経由): webhdfs://<Ozone server>:<port>/user/myuser
- Ozone に保存されているParquet ファイルにアクセスするには、Kerberos 認証を使用する必要があります。
- Ozone クラスタにOzone 718.2.x があることを確認してください。
- Cloudera Manager version 7.10.1 が必要です。
HDFS データソースへの接続に使用できる認証方法は、匿名認証とKerberos 認証の2つがあります。
匿名認証
状況によっては、認証接続プロパティなしでHDFS に接続できます。 そのためには、AuthScheme プロパティをNone(デフォルト)に設定します。
Kerberos を使用した認証
認証資格情報が必要な場合、認証にKerberos を使用することができます。 Kerberos で認証する方法についての詳細は、Kerberos の使用 を参照してください。
HTTP Streams
HTTP streams に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:HTTP またはHTTPS に設定。
- URI:HTTP(S) stream のURI に設定。次に例を示します。
- HTTP: http://remoteStream
- HTTPS: https://remoteStream
HTTP Streams でホストされているParquet ファイルへの接続および認証について詳しくは、HTTP Streams への接続 を参照してください。
IBM Cloud Object Storage
IBM Cloud Object Storage に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:IBM Object Storage Source に設定。
- URI:バケットおよびフォルダに設定。例えば、ibmobjectstorage://bucket1/remotePath です。
- Region:このプロパティをIBM インスタンスリージョンに設定。例:eu-gb.
IBM Cloud Object Storage でホストされているParquet ファイルへの接続および認証について詳しくは、IBM Object Storage への接続 を参照してください。
OneDrive
OneDrive に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:OneDrive に設定。
- URI:Parquet ファイルを含むフォルダへのパス に設定。例えば、onedrive://remotePath です。
OneDrive でホストされているParquet ファイルへの接続および認証について詳しくは、OneDrive への接続 を参照してください。
OneLake
OneLake に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:OneLake に設定。
- URI:ワークスペース名、アイテム名、アイテムタイプの順に設定。オプションで、ルートフォルダとして使用するフォルダパスを含めます。例:onelake://Workspace/Test.LakeHouse/Files/CustomFolder。
OneLake でホストされているParquet ファイルへの接続および認証について詳しくは、OneLake への接続 を参照してください。
Oracle Cloud Storage
HMAC で認証するには、次のプロパティを設定します。
- ConnectionType:ConnectionType をOracle Cloud Storage に設定。
- URI:バケットおよびフォルダ:os://bucket/remotePath に設定。
- AccessKey: Oracle Cloud のAccess Key に設定。
- SecretKey:Oracle Cloud のSecret Key に設定。
- OracleNamespace:Oracle cloud のnamespace に設定。
- Region(オプション):S3ライクなWeb サービスのホスティングリージョンに設定。
SFTP
SFTP に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:SFTP に設定。
- URI:これをサーバーのアドレスに設定し、ルートフォルダとして使用するフォルダのパスを続けて指定します。例えば、sftp://server:port/remotePath です。
SFTP でホストされているParquet ファイルへの接続および認証について詳しくは、SFTP への接続 を参照してください。
SharePoint Online
SharePoint Online に格納されているParquet リソースを識別するために以下を設定します。
- ConnectionType:SharePoint REST またはSharePoint SOAP に設定。
- URI:Parquet ファイルを含むドキュメントライブラリ に設定。次に例を示します。
- SharePoint Online REST: sprest://remotePath
- SharePoint Online SOAP: sp://remotePath
SharePoint Online でホストされているParquet ファイルへの接続および認証について詳しくは、SharePoint Online への接続 を参照してください。
OAuth 値のリフレッシュ
本製品 は、ブラウザベースのOAuth 認証交換中に取得されたテンポラリーOAuth アクセストークンをリフレッシュできます。デフォルトでは、本製品 は暗号化されたトークンを、DSN に対応するodbc.ini ファイルに保存します。System DSN の場合、このodbc.ini ファイルへのアクセスを制限できます。
トークンの自動交換を有効にするには、本製品 にシステムodbc.ini への書き込みアクセス権を与えます。または、OAuthSettingsLocation 接続プロパティを、ドライバーが読み書きアクセス権を持つ別のファイルパスに設定することもできます。
OAuthSettingsLocation=/tmp/oauthsettings.txt
OAuth 認証の依存関係のインストール
OAuth 認証標準は、認証するユーザーにWeb ブラウザを使用したParquet との通信を要求します。最初のOAuth インタラクションがドライバーがインストールされている同じマシン上で行われる場合(例えばデスクトップアプリケーションの場合)、本製品 はデフォルトブラウザを立ち上げるxdg-open プログラムにアクセスする必要があります。
この依存関係を満たすには、パッケージマネージャーに対応するパッケージをインストールします。
Debian/Ubuntu Package | RHEL/Fedora Package | File |
xdg-utils | xdg-utils | xdg-open |
ドライバーエンコーディングの設定
ODBC ドライバーは、ODBC ドライバーマネージャーで使用するエンコーディングを指定する必要があります。デフォルトでは、Unix 用のCData ODBC ドライバーはunixODBC と互換性のあるUTF-16 を使用するように設定されていますが、他のドライバーマネージャーでは代替エンコーディングが必要な場合があります。
また、ANSI ODBC API を使用するアプリケーションからODBC ドライバーを使用している場合は、ANSI コードページを設定する必要があります。例えば、ANSI アプリケーションに日本語の文字をインポートするには、設定ファイル'/opt/cdata/cdata-odbc-driver-for-parquet/lib/cdata.odbc.parquet.ini' でコードページを指定できます。
[Driver]
AnsiCodePage = 932