R Server を使用して、 Azure Data Lakeから生のテキスト (ベースの readLines など) を単純に読み取りたいと考えています。次のように接続してデータを取得できます。
library(RevoScaleR)
rxSetComputeContext("local")
oAuth <- rxOAuthParameters(params)
hdFS <- RxHdfsFileSystem(params)
file1 <- RxTextData("/path/to/file.txt", fileSystem = hdFS)
RxTextData
その行が実行されると、実際にはデータを取得するのではなく、シンボリックリンクのように機能します。次のようなものを実行すると:
rxSummary(~. , data=file1)
次に、データがデータ レイクから取得されます。ただし、常に読み込まれ、区切りファイルとして扱われます。次のいずれかを行います。
- ファイルをダウンロードし、R コードと共にローカルに保存します (できれば保存しないでください)。
- ある種の
readLines
同等のものを使用してデータを取得しますが、それを「生」で読み取って、独自のデータ品質チェックを行うことができます。
この機能はまだ存在しますか? もしそうなら、これはどのように行われますか?
編集:私も試しました:
returnDataFrame = FALSE
内部RxTextData
。これはリストを返します。しかし、私が述べたように、データはrxSummary
、通常のファイルとして読み取ろうとするようなものを実行するまで、データ レイクからすぐには読み込まれません。
コンテキスト: 二重引用符で囲まれた改行を含む「悪い」CSV ファイルがあります。これにより、RxTextData が破損します。ただし、私のスクリプトはこれらの発生を検出し、それに応じて修正します。したがって、RevoScaleR がデータを読み取って区切り記号を解釈しようとしないようにします。