次の形式のデータバッグを持っています
{([ChannelName#{ (bigXML,[])} ])}
- DataBagは、タプルである1つのアイテムのみで構成されます。
- タプルは、マップであるアイテムのみで構成されます。
- マップは、チャネル名と値の間のマップであるタイプです。
- これは、1つのタプルのみで構成されるDataBagタイプの値です。
- タプルは2つのアイテムで構成され、1つはcharrarray(非常に大きな文字列)で、もう1つはマップです。
上記のバッグを放出するUDFがあります。
次に、マップの特定のチャネルに対してDataBag内の唯一のタプルを渡すことにより、別のUDFを呼び出す必要があります。
データバッグとタプルがなかったとすると
、バッグ内のタプルを使用してNowを
([ChannelName#{ (bigXML,[])} ])
使用してデータにアクセスできます。
そうすると (Prepend $ 0)、次のエラーが発生します。
$0.$0#'StdOutChannel'
{([ChannelName#{ (bigXML,[])} ])}
$0.$0.$0#'StdOutChannel'
ERROR 1052: Cannot cast bag with schema bag({bytearray}) to map
データバッグ内のデータにアクセスするにはどうすればよいですか?