2017-12-22 15 views
0

"0001546"のような文字列値を持つxmlを処理する必要があります。私はdatabrics xml APIを使用してそれらをデータフレームにロードすると、実際の文字列の値をdouble型に変換しています。問題は2倍で "0001546"から1546に変更されています。これは暗黙の型キャストこれがそのように振る舞わないようにしてください。実際の価値を期待することは、そのまま扱うべきです。 私の場合は実現できないxmlの手動スキーマを指定することもできます。 csvファイルのような推論スキーマを無効にするためにdatabricsに報告されたバグが見つかりました。 これを解決するための回避策または解決策がありますか?あなたの助けに感謝。databrics spark APIを使用したxml処理のスキーマオプションの導入

答えて

0

新しいリリースで修正されるまで、これまでの戦術的な解決策が見つかりました。 私は処理したいすべてのXMLファイルを持つ入力フォルダに配置されたプレースホルダxmlファイルを作成しました。 プレースホルダーxmlファイルのidフィールドの値が<Id>x0001546</Id>の場合、ダミーレコードに追加の 'x'文字が1つ追加されていることに注意してください。 デフォルトでは、サンプリング推論スキーマの値は1です(すべてのレコードでそれを行う必要はありません)ので、このフィールドは英数字として扱われます。後で、データフレームからプレースホルダxmlレコードを除外しました。

関連する問題