こんにちは!a.hamachiです。
8月にデータエンジニア未経験者として転職してきて、このブログで皆さまとお会いするのは初めてになります。
本日のアドベントカレンダーでは、Dataiku初心者として業務で直面した課題とその解決策、そして弊社のカルチャーについて簡単に紹介します。
困ったこと:先頭の0が消えて連結されてしまう
DataikuにはPrepareレシピという、入力データセットを様々な方法で加工できる比較的便利なツールがあります。今回の問題はそのPrepareレシピのFormulaステップを使用しているときに発生しました。
数値を文字列として持っている2つのカラムを、文字列のまま連結して新しいカラムを作成したい!
(例. columnA:01、 columnB:001 → newcolumn:01001)
それならばconcat関数を使えばよいだろうと考え、Formulaステップ内で単純に concat(columnA, columnB)
と記載したところ、
先頭の0が消えた状態で新たなカラムが作成されてしまいました。
(例. columnA:01、 columnB:001 → newcolumn:11)
列を直接参照しているため、列の値が数値として解釈されてしまったのですね。
解決策:strval関数でデータ型を指定してあげる
ではどうすればよいのかというと、値を文字列として取得するように数式内で示してあげる必要があります。
Formulaステップ内で記載した数式は以下のとおりです。
concat(strval('columnA'), strval('columnB'))
これにより、意図したとおりにカラムを連結することができました。
その解決策はどうやって見つけたのか?
上であたかも「自分がネットで探して見つけてきました!」かのように紹介していますが、実はそうではありません。
弊社にはTeams上に「駆け込み寺」という質問板があり、そこで以前に全く同じ内容が投稿されていたのです。
この「駆け込み寺」は非常に活発で、ほぼ毎日新しい投稿があり、truestarの大きな特徴の1つとなっています。
「駆け込み寺」誕生の背景や、なぜこの仕組みがうまく機能しているのかについては、以下の記事をぜひご覧ください。
質問する側・回答する側の双方に対する行動促進の仕組みづくりについては、社員である私も思わず「なるほど…」と呟いてしまう内容でした。
なぜかうまくいく!truestar 社内質問板 “駆け込み寺”の秘密
最後に
今回の話はDataikuに限った話ではありませんが、データ型に注意を払うことの重要性を改めて痛感した出来事でした。
また、「駆け込み寺」のような知識共有の仕組みは、特に未経験からキャリアをスタートさせた私にとって、大きな学びの機会となっています。
宣伝になってしまいますが、エンジニア未経験入社をする人にとってtruestarは非常に恵まれた環境と感じています。未経験からデータエンジニアを目指す仲間を募集していますので、ぜひ採用ページをご覧ください。可能性を広げ、キャリアを共に築いていく仲間をお待ちしています!