STEP2. アウトプットを実現するために必要なデータソースを書き出す アウトプットの整理ができたら、今度はインプットとなるデータソースの整理を行いましょう。 必要なデータソースは要件から読み解くことができます。 今回は「10代のユーザーの月間視聴数(性別 / 動画カテゴリごと)の推移をグラフで見たい」という要件です。 ここから、この分析に必要なエンティティ(実体)とその属性、集計値を抽出しましょう。 エンティティと属性 ユーザー 性別 年代 動画 カテゴリ 集計値 視聴数 これらのデータを管理するテーブルを、調査やヒアリングを実施して探します。 今回は以下のテーブルを使用することとします。 user:ユーザー登録に必須な入力項目を管理するテーブル user_profile:ユーザーが登録後に設定できる任意の入力項目を管理するテーブル video:ユーザーが投稿した動画を管理するテーブル
AWSのALB(Application Load Balancer)のログはS3に置かれるが、この中身をサクッと調べたいとき、Athenaを使う方法が標準的で、下記で案内されているようにパーティション射影(Partition Projection)でテーブルを作ってAthenaからクエリする。 パーティション射影を使用して Athena で ALB アクセスログ用テーブルを作成する - Amazon Athena 私も従来はその方法を使っていたが、Athenaはブラウザから使うと動作がもっさりしているし、決まったクエリを1回きり実行して結果を取得したいだけのときならまだしも、探索的にクエリを何発も実行したいときには使い勝手が悪い。 最近他のプロジェクトでDuckDBを使うようになって、使い勝手の良さに感動していたが、DuckDBはALBのログを探索的に調べたいときにもめっちゃ使えると思った
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。 JSON からのデータの抽出 Athena のテーブルにデシリアライズしたくない、JSON でエンコードされた文字列が含まれるデータソースがある場合があります。このような場合でも、Presto の JSON 関数を使用し、このデータに対して SQL オペレーションを実行できます。 次の JSON 文字列をデータセット例として考えます。 {"name": "Susan Smith", "org": "engineering", "projects": [ {"name":"project1", "completed":false}, {"name":"project2", "completed":true} ] } 例: プロパティの抽出 この JSON 文字列から
TO_TIMESTAMP は TIMESTAMP 文字列を TIMESTAMPTZ に返します。Amazon Redshift のその他の日付および時刻関数のリストについては、「日付および時刻関数」を参照してください。 構文 timestamp format により指定された形式でタイムスタンプ値を表す文字列。この引数を空のままにすると、タイムスタンプ値はデフォルトで 0001-01-01 00:00:00 に設定されます。 format timestamp 値の形式を定義する文字列リテラル。タイムゾーン (TZ、tz、または OF) を含む形式は、入力としてサポートされていません。有効なタイムスタンプ形式については、「日時形式の文字列」を参照してください。 is_strict 入力タイムスタンプ値が範囲外である場合にエラーを返すかどうかを指定するオプションのブール値。is_strict
フィードバックを送信 再帰 CTE を使用する コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 GoogleSQL for BigQuery では、クエリ式で参照できる一時テーブルと 1 つ以上の共通テーブル式(CTE)が WITH 句に含まれています。CTE は、非再帰、再帰、またはその両方になり得ます。WITH 句で RECURSIVE キーワードを指定すると(WITH RECURSIVE)、再帰になります。 再帰 CTE は、その CTE 自体、先行する CTE、または後続の CTE を参照できます。非再帰 CTE は先行する CTE のみを参照でき、その CTE 自体は参照できません。再帰 CTE は、新しい結果が見つかるまで継続的に実行されますが、非再帰 CTE は 1 回だけ実行されます。このような理由から、再帰 CTE は階層データやグラフデ
dbtでのSQLモデル記述時に利用推奨されている『共通テーブル式(CTE/Common Table Expression)』について アライアンス事業部 エンジニアグループ モダンデータスタック(MDS)チームのしんやです。 dbtでは、SQLモデルを記述する際に『共通テーブル式(CTE/Common Table Expression)』の利用が推奨されています。 この共通テーブル式=CTE/Common Table Expression(以降CTEと呼びます)、馴染みの無い人には『CTE?何それ?』という感じではあるかなと思います。(実際自分もそうでした) ということで当エントリではそもそもCTEってどういうものなのか、dbtでこのCTEをどういう風に扱っていくのが良いのか、等について色々と見ていきたいと思います。 目次 そもそも共通テーブル式(CTE)って何? CTEに関心を持つべき理
sqlfmt formats your dbt SQL files so you don't have to. It is similar in nature to black, gofmt, and rustfmt (but for SQL). sqlfmt promotes collaboration. An auto-formatter makes it easier to collaborate with your team and solicit contributions from new people. You will never have to mention (or argue about) code style in code reviews again. sqlfmt is fast. Forget about formatting your code, and s
Athena でクエリを再実行する場合、オプションで最後に保存されたクエリ結果を再利用することを選択できます。このオプションにより、パフォーマンスが向上し、スキャンされるバイト数によりコストが削減されます。クエリの結果を再利用することは、たとえば、特定の時間枠内で結果に変化がないことがわかっている場合に役立ちます。クエリの結果を再利用できる最大有効期間を指定できます。Athena では、指定した経過日数を超えない限り、保存された結果を使用します。詳細については、AWS Big Data Blog の「Reduce cost and improve query performance with Amazon Athena」を参照してください。
ユーザーグループを変更します。ユーザーをグループに追加するか、グループからユーザーを削除するか、グループ名を変更するには、このコマンドを使用します。 構文 ALTER GROUP group_name { ADD USER username [, ... ] | DROP USER username [, ... ] | RENAME TO new_name } パラメータ group_name 変更するユーザーグループの名前。 ADD ユーザーをユーザーグループに追加します。 DROP ユーザーグループからユーザーを削除します。 username グループに追加するかグループから削除するユーザーの名前。 RENAME TO ユーザーグループの名前を変更します。2 個のアンダースコアで始まるグループ名は Amazon Redshift 内部で使用するために予約されています。有効な名前の詳細
今回は、SQLを書く上で特にパフォーマンスに影響のあるSQLの実行計画の読み方について解説します。実行計画はデータベース製品によってさまざまに差異がありますが、ここでは比較的どのデータベース製品でも共通する内容について解説します。 実行計画とは記述したSQLが実際にデータベースの内部でどのように処理されて結果を返すか、その処理方法を記述した情報です。 A5:SQL Mk-2では、SQLエディタで実行計画を見たい SQL の上にキャレットがある状態でメニューから [SQL(S)] – [SQLの実行計画(J)] または、Ctrl+E で表示できます。 表示の仕方はデータベース製品ごとに異なりますが、多くのデータベース製品ではツリー状の情報として表現されます。(このため A5:SQL Mk-2でもツリービューで実行計画を表示します。) ツリーのリーフ(端)から処理が行われ、ルート(根)に向かっ
LMQL Playgroundでクエリを試すLMQLには動作を簡単に検証できるPlaygroundが用意されています。ローカルでPlaygroundを起動することもできます。 まずはGetting Startedで紹介されている以下のクエリを実行します。 argmax "Hello[WHO]" from "openai/text-ada-001" where len(WHO) < 10「Run」ボタンをクリックするとOpenAIのAPI KEYを求められるので、入力します。 実行するとModel Responseの枠に結果が表示されます。 LMQLの基本構造LMQLは記法的にはSQLと似ていて、以下のような構造を持っています。 デコーダ節(Decoder Clause): テキスト生成に使用するデコード・アルゴリズムを指定します。LMQLでは様々なデコード・アルゴリズムを選択することができ
LMQL is a programming language for LLMs. Robust and modular LLM prompting using types, templates, constraints and an optimizing runtime. @lmql.query def meaning_of_life(): '''lmql # top-level strings are prompts "Q: What is the answer to life, the \ universe and everything?" # generation via (constrained) variables "A: [ANSWER]" where \ len(ANSWER) < 120 and STOPS_AT(ANSWER, ".") # results are dir
フィードバックを送信 クエリ言語リファレンス(バージョン 0.7) コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 GoogleVisualization API のクエリ言語を使用すると、データソースに対するクエリでさまざまなデータ操作を行うことができます。 目次 はじめに 通常、ビジュアリゼーションには特定の形式のデータが必要です。たとえば、円グラフではデータがテキストラベルと数値の 2 つの列である場合があります。データソース内のデータは、この構造と完全には一致しない場合があります。 たとえば、データソースに 3 つ以上の列がある場合や、列の順序が円グラフで想定されている順序と異なる場合があります。 クエリ言語を使用すると、データ操作とフォーマットのリクエストをデータソースに送信し、返されたデータ構造とコンテンツが想定される構造と一致するようにできま
はじめに ChatGPTは、OpenAIが開発した高性能な自然言語処理モデルで、会話や質問応答など多くの分野で応用が可能です。この記事では、LayerXのバクラク請求書チームで開催したChatGPTを題材としたハッカソンの概要や、成果物についてお伝えします。 (※今回のハッカソンで業務上データは利用しておりません) ハッカソン概要 最近話題を集めているChatGPTですが、LayerXでも新卒採用や研修に取り入れることを検討しています。 layerx.co.jp ChatGPTやNotion AIをはじめとしたLLMは今後の製品開発でさらなる価値創出が期待されるため、この機会に知見を深めることを目指し、バクラク請求書チームでハッカソンを実施しました。 ハッカソンの様子(記事を書いた日に他チームでもハッカソンが行われていたのでその写真) ハッカソンで生まれたアイデア ハッカソンで開発された主
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く