クラスコンストラクターにパラメーターとして渡された行から値を取得するのに役立つでしょうか(または)より良い方法を提案してください。私の目的は、すべてのフィールドの価値を検証することです。各フィールドには異なる検証基準があります。pyspark:パラメーターとしてRDDをクラスに渡す
私はHiveContextを使用してハイブテーブルを読み込み、データフレームに保存されています
は、これは私がやっているものです。このデータフレームをRDDに変換しました。 RDDの各行をクラスコンストラクタに渡しています。
class Normalizer():
def __init__(self,val):
logging.info("Normalizer start...%s"%val)
ヴァル(コンソールで)のように見える:
[ロウ(ID = u'12' 、= u'xx COL1 'COL2 u'yy ='、...)]
ノーマライザの各フィールドに解析メソッドを書きました。 これで、それぞれのフィールド値を対応するメソッドに渡してデータを検証する必要がありました。
どのようにフィールドの各値を取得しますか? val.id
は機能しません。
また、より良いアプローチがあるかどうかをご提案ください。
ありがとうございます!
をブール値を挿入し、間違った行をフィルタリングすることができます。マップステートメントでアクセスしている場合は、点灯しません。そして2番目の弾丸は取るべきアプローチのように見える – David
ありがとう。私は第2のアプローチを取った。 – Aavik