注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
ファイルパスまたはRIDによって、個々のメディアアイテムにアクセスできます:
しかし、おそらくユーザーのメディアセットのすべてのアイテムをトランスフォームしたいと思うでしょう。これを行うには、まず リスト化 メソッドを使用してアイテムをデータフレームに引き込む必要があります。以下の例では、入力メディアセットのすべてのアイテムをリスト化し、結果のデータフレームをタブラー出力に書き込みます: メディアセットにある特定のパスに複数のアイテムがある場合、リストには最新のもののみが含まれます。リストは次のスキーマを持つことになります: メディアセットは、標準で一定数の組み込みトランスフォームをサポートしています。APIとサポートされているトランスフォームのリストについては、以下の付属資料を参照してください。これらのトランスフォームへの呼び出しは、Pythonのファイルライクなストリームオブジェクトも返します。これらの組み込みトランスフォームを使用するには、メディアセット入力に対して適切なメソッドを呼び出します。例えば:
Copied!1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
@transform( images=MediaSetInput('/examples/images'), # 画像のデータセットを入力として指定します。 image_text_output=Output('/examples/listed_images_with_text') # 画像とテキストのリストを出力として指定します。 ) def translate_images(ctx, images, image_text_output): # 画像内のテキストをOCRで取得する関数を定義します。 def get_ocr_on_image(media_item_rid): return images.transform_image_to_text_ocr_output_text(media_item_rid).read().decode('utf-8') # 上記関数をUDF(User Defined Function)として登録します。 ocr_on_image_udf = F.udf(get_ocr_on_image, StringType()) # メディアアイテムのリストを取得します。 media_items_listing = images.list_media_items_by_path_with_media_reference(ctx) # 各メディアアイテムに対してOCRを実行し、結果を'テキスト'列に格納したデータフレームを作成します。 listing_with_ocr = media_items_listing.withColumn('text', ocr_on_image_udf(F.col('mediaItemRid'))) # 出力するカラムの型を指定します。 column_typeclasses = {'mediaReference': [{'kind': 'reference', 'name': 'media_reference'}]} # 結果のデータフレームを出力します。 image_text_output.write_dataframe(listing_with_ocr, column_typeclasses=column_typeclasses)
一つのメディアセットから別のメディアセットにアイテムをコピーする際には、出力で fast_copy_media_item()
メソッドを使用することができます。これは、メディアアイテムをダウンロードして再アップロードするよりも、より速く、より効率的なオプションです:
Copied!1 2 3 4 5 6 7 8 9 10
# デコレータで指定した入力と出力を使用して画像をアップロードする関数を定義します @transform( images=MediaSetInput('/examples/images'), # 入力画像のディレクトリを指定します output_images=MediaSetOutput('/examples/output_images') # 出力画像のディレクトリを指定します ) def upload_images(images, output_images): # "image1.jpg"の元のメディアアイテムのリソースIDを取得します origin_media_item_rid = images.get_media_item_rid_by_path("image1.jpg") # 入力から出力へメディアアイテムを高速コピーします output_images.fast_copy_media_item(images, origin_media_item_rid, "fast_copied_image1.jpg")
アイテムは、ユーザー定義関数(UDF)内のメディアセットにアップロードできます。これにより、並列性が高まります。以下の例では、入力メディアセット内のPDFを、組み込みのPDFからJPEGへのトランスフォームを使用してJPEGにトランスフォームし、それらのJPEGを新しい出力メディアセットにアップロードします。その後、アップロードしたJPEGのメディアリファレンスを含む表形式のデータセットを出力します:
Python メディアセット SDK には、Palantir ファイルシステム(カタログとして知られています)の従来のデータセットからメディアセットにファイルをアップロードするための組み込みツールがあります。例えば:
Copied!1 2
# "ri.mio.main.media-item.1"という名前のPDFファイルをJPGファイルに変換します。変換するページ番号は0(最初のページ)です。 input_pdfs.transform_document_to_jpg("ri.mio.main.media-item.1", 0)
PDFドキュメントの個別のページをPNGに変換して返します。
対象: PDFドキュメント
返り値: PNG画像
パラメーター:
media_item_rid
: 変換対象のメディアアイテムのRID。page_number
: ゼロインデックスのページ番号。例:
Copied!1 2
# "ri.mio.main.media-item.1"という名前のPDFを0ページ目からPNG形式に変換します。 input_pdfs.transform_document_to_png("ri.mio.main.media-item.1", 0)
Copied!1 2 3
# "ri.mio.main.media-item.1"という名前のPDF文書の0番目のページをテキスト形式に変換します。 # この変換プロセスは、OCR(光学文字認識)を使用し、出力はhOCR形式で提供されます。 input_pdfs.transform_document_to_text_ocr_output_hocr("ri.mio.main.media-item.1", 0)
PDFからフィールドを抽出して返します。これは、OCRとは異なり、画像処理を必要としないパーシング方法です。
操作対象: PDFドキュメント
戻り値: UTF-8エンコーディングの非構造化テキスト
パラメーター:
media_item_rid
: トランスフォームするメディアアイテムのRID。page_number
: ゼロから始まるページ番号。例:
全PDFからすべてのフォームフィールドを抽出して返します。
操作対象: PDFドキュメント
戻り値: JSON
パラメーター:
media_item_rid
: トランスフォームするメディアアイテムのRID。例:
Copied!1 2
# "ri.mio.main.media-item.1"フィールドをテキストに変換するために、transform_document_to_text_extract_fieldメソッドを使用します input_pdfs.transform_document_to_text_extract_field("ri.mio.main.media-item.1")
PDFからフィールドを抽出して返します。
適用対象: PDFドキュメント
返り値: JSON
パラメーター:
media_item_rid
: トランスフォームするメディアアイテムのRID。例:
Copied!1 2
# "ri.mio.main.media-item.1"という名前のドキュメントをテキストに変換し、目次を抽出します。 input_pdfs.transform_document_to_text_extract_table_of_contents("ri.mio.main.media-item.1")
Copied!1 2
# "ri.mio.main.media-item.1"という名前のPDFファイルをテキスト形式に変換します。この変換はOCR(光学的文字認識)を使用して行われ、結果はhOCR形式で出力されます。 input_pdfs.transform_image_to_text_ocr_output_hocr("ri.mio.main.media-item.1")
OCRを使用して画像をテキストに変換します。
対象: 画像
戻り値: utf-8 エンコーディングの非構造化テキスト
パラメーター:
media_item_rid
: トランスフォームされるメディアアイテムのRID。例:
Copied!1 2
# "ri.mio.main.media-item.1"という名前の画像をテキストに変換します。 input_images.transform_image_to_text_ocr_output_text("ri.mio.main.media-item.1")