エクスチュア株式会社ブログホームエクスチュア株式会社コーポレートサイトお問い合わせエクスチュア総合研究所ブログへのリクエストエクスチュア株式会社ブログマーケティングテクノロジーの情報やノウハウ・TIPS、エクスチュア社の情報を発信。【ブログネタ募集】ご興味のある分野を教えてください!ご要望の内容を記事に起こします!メニューの「ブログへの」リクエストよりお送りください。プログラミングDatabricksを始める前に覚えておきたいScalaプログラミングの基本Databricks2019.06.5Databricksを始める前に覚えておきたいScalaプログラミングの基本こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。最近ツイッター始めました。それはさておき、今回はDatabricksで使われているScalaというプログラミング言語について説明します。Scalaとは、Sparkで使われているオブジェクト指向の関数型言語です。DatabricksはフルマネージドのSparkコラボレーション環境なので、そのベーステクノロジーとなるScala言語を覚えるとDatabricksも使いこなせるようになれます。いうわけでScalaを覚えましょう!Databricksで空白のノートブックを開いてから下記のコードを実際に入力してから結果を試して行きます。プログラミングといえばまずは変数の宣言から。不変なval変数宣言の前にvalを付けることで、不変な変数を定義出来ます。"こんにちは"println(hello)この例では、不変な変数「hello」をString型で宣言して、そしてprintlnで表示させる例です。実行すると、「こんにちは」と表示されます。valは不変valで宣言した変数にあとから値を入れ直そうとすると、エラーになります。val可変なvarvarをつけると、再代入可能な可変な変数になります。"世界"println(helloWorld)この例では、可変な変数「helloWorld」をString型で宣言してます。「世界!」という値で上書きしたので結果は、「こんにちは世界!」になります。varは可変if-else条件分岐のifとelseの書き方。println("それはない。println("そのとおり!")}これは説明不要ですね。chk1とchk2というInt型の変数の大きさを比較して、結果を表示する例です。if-elseで分岐forループ繰り返し処理のforの書き方。println(i)}1から5まで表示をループさせる例です。普段Javascriptをよく書いてるので、Scalaのこの書き方はスッキリしてます。関数はdefで宣言します。引数の型と戻り値の方も定義します。5)println(res)2つの整数を引数で受け取って、足した結果を整数で返す関数の例です。Javascriptみたいにreturnしなくても良い。defで関数を宣言Tupleタプルは異なる型の変数を持てる配列です。Scalaでもよく使われます。..というインデックス番号を使ってタプルの中身にアクセス出来ます。異なる型を持てる配列:タプルList一方、リストは同じ型の変数のコレクションです。"baz")println(myList(0))println(myList(1))println(myList(2))0から始まるインデックス番号でリストの中身にアクセス出来ます。Listは可変な配列タプルにはない機能があるのもリストの特徴です。配列の中身をループで展開するならこういう書き方が出来ます。println(item)}これもスッキリしてますね。配列のループリストに組み込まれてる変数がいくつかあります。reduceで、配列の中身を順番に演算してくれます。y)println(total)これで1+2+3の結果6になります。reduceで配列内を演算MapMapはkey-value型の値の配列です。"Tokyo")println(myMap("name"))Map内の「name」というキーに一致する値を表示する例です。Mapはkey-value型の配列まとめScala言語はDatabricksでSparkを扱うために覚えておくべきプログラミング言語です。Scalaをインストールすればすぐに構築出来るので、ぜひScalaを始めましょう。弊社はデジタルマーケティングからビッグデータ分析まで幅広くこなすデータ分析のプロ集団です。お問合わせはこちらからどうぞ。ブログへの記事リクエストはこちらまでどうぞ。一定時間経過したらタスクを強制終了するこんにちは、エクスチュアの権泳東(コン・ヨンドン)です。SegmentsAPIを使って大量のセグメント設定を作成・更新する...こんにちは、エクスチュアCTOの権です。QueryでWindow関数を用いて、累積和を計算するこんにちは。エクスチュアでインターンをさせて頂いている中野です。日本語自然文を形態素解析してネガポジ判定をするこんにちは、エクスチュアの権泳東(コン・ヨンドン)です。今月のGCP課金額をslackに自動的に書き込むこんにちは、エクスチュアCTOの権です。「生Webビーコン」をBigQu...こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。