タグ

関連タグで絞り込む (201)

タグの絞り込みを解除

SQLに関するclavierのブックマーク (301)

  • SQLFluffを完全に理解する | DevelopersIO

    Google Cloudのデータエンジニアをしています、はんざわです。 今回はSQLのリンターであるSQLFluffを触りながら理解を深めたいと思います。 検証環境 macOS: 13.3.1 Python: 3.9.5 SQLFluffとは SQLFluffとは、SQLのフォーマットを自動で問題点の指摘や修正をしてくれるオープンソースサービスです。 さっそくインストールして使ってみたいと思います。 インストール SQLFluffをインストールするにはPython3が必要です。 $ pip3 install sqlfluff 正常にインストールできているか確認します。 $ sqlfluff version 2.0.7 インストールが完了しました。実際にクエリを用意し、使ってみたいと思います。 さっそく使ってみる sqlfluffには大きくlintとfixの2つの機能があります。 まずはli

    SQLFluffを完全に理解する | DevelopersIO
  • dbtプロジェクトにSQLFluffを導入する - dely Tech Blog

    はじめに SQLFluffとは? 導入の背景 SQLFluffの導入 SQLFluffをインストールする SQLFluffを試してみる .sqlfluffを作成する dbt templaterをインストールする SQLFluffの使用 CLIでの使用 dbt Cloud IDEでの使用 さいごに はじめに こんにちは、データエンジニアの加藤です。 クラシルのデータ基盤ではdbt(data build tool)を使ってデータを変換しデータウエアハウス・データマートを構築しています。 今回はdbtプロジェクトSQLFuffを導入したので紹介します。 SQLFluffとは? 様々な種類のSQLに対応するリンターです。 Jinjaやdbtにも対応しておりコーディング規約に違反した記述を自動で修正してくれます。 SQLFluff is a dialect-flexible and configu

    dbtプロジェクトにSQLFluffを導入する - dely Tech Blog
  • SQLFluffを試す(BigQuery+VSCode)

    やりたいこと 前カンマ 予約後やNULLなどを大文字、、、 .sqlfluffファイルを配置 .sqlファイルと同じフォルダに配置 .sqlfluffファイルの設定 [sqlfluff] dialect = bigquery max_line_length = 200 output_line_length = 200 sql_file_exts = .sql,.bqsql # バイト制限解除 large_file_skip_byte_limit = 0 # ルールの中から取り除くものを選ぶ exclude_rules = # sqlfluff fixでカラムの順序を変えないようにするための設定 structure.column_order ,ambiguous.column_count ,structure.using # Salesforceはキャメルケースでlowerにすると読みにくく

    SQLFluffを試す(BigQuery+VSCode)
    clavier
    clavier 2025/08/11
  • SQLFluffを使ってみた。 - シナプス技術者ブログ

    シナプスの技術部システム開発課の小園です。 SQLFluffを使ってみました。 SQLFluff とは? 関連サイト サポートするSQL ルール 設定 CLI(コマンドラインインタフェース)から使う 環境 インストール ディレクトリ、ファイル構成 操作 VSCodeから使う 環境 インストール ディレクトリ、ファイル構成 操作 所感 SQLFluff とは? SQLFluff はPython3以降で動く、SQL構文のLinter(静的解析ツール)です。 SQL構文に対して lint(静的解析)や fix(静的解析内容に基づく修正)ができます。 関連サイト 公式サイト sqlfluff.com ドキュメント docs.sqlfluff.com GitHub github.com pypi pypi.org Visual Studio Code の拡張機能 sqlfluff marketpla

    SQLFluffを使ってみた。 - シナプス技術者ブログ
    clavier
    clavier 2025/08/11
  • SQLFluffを導入しました - Qiita

    この記事はスタンバイ Advent Calendar 2023の16日目の記事です。 今回は、SQL LinterであるSQLFLuffについて紹介したいと思います。 SQL Linter導入の背景 筆者は職場ではデータエンジニアを担当しており、Pythonコードを書くことが多いです。Pythonプロジェクトについてはflake8やblackといったlinterformatterを導入しています。 しかし、SQLファイルについては導入できておらず、当初はSQLを書くメンバーが限られていたためさほど問題になりませんでしたが、規模が大きくなるに連れてだんだん保守性が下がっていきました。 アナリストの方々が書いたSQLがそのままレビューに落ちてくることもあるのですが、書き方が全く違うためレビューアの立場からすると違和感を覚えるシーンもありました。 PEP8のようなコーディング規約も無いため「こ

  • BigQueryのアンチパターン認識ツールで独自のSQLリンターを開発しました - ZOZO TECH BLOG

    こんにちは、株式会社ZOZOで25卒の内定者アルバイトをしている村井です。この記事では業務で取り組んでいる、BigQueryで使うSQLのリンターの作成方法について紹介します。 目次 目次 課題と解決策 課題 解決策 BigQueryのアンチパターン認識ツール ミニマムな使い方 日語がSQL内に含まれている際の問題 アンチパターンを定義する リンターとしてBigQueryのアンチパターン認識ツールを使用する際に生じる課題と解決策 構成 APIサーバ化 Chrome拡張 動作例 まとめ 課題と解決策 課題 社内では様々なチームがSQLを書いており、動作はするものの良くない書き方をしている場合があります。そういった構文を検知して、前もって修正する必要があります。 解決策 BigQueryのコンソールで入力されたSQLの不正構文を検知、修正案を提示できるようにしました。 BigQueryのアン

    BigQueryのアンチパターン認識ツールで独自のSQLリンターを開発しました - ZOZO TECH BLOG
  • MySQL8.0のWindow関数を分かりやすく紹介する(5.謎多きフレーム句を使うと良いことはあるのか?) | スマートスタイル TECH BLOG

    はじめに MySQL8.0がリリースされたことにより、Window関数の利用が可能になりました。 Oracle、PostgreSQLSQL Server等でも利用できる関数ですが、「難しそう」、「どういう場合に使えば良いか分からない」というイメージを持たれている方もいると思いますので、この記事ではシンプルにどのようなことができるのかを紹介していきます。 過去の記事でもWindow関数について分かりやすく記載しておりますので、確認されていない方は是非こちらの記事もご参照ください。 ・MySQL8.0のWindow関数を分かりやすく紹介する(1.「集計関数×Window関数」のコラボ) ・MySQL8.0のWindow関数を分かりやすく紹介する(2.順位・連番の付け方(基編)) ・MySQL8.0のWindow関数を分かりやすく紹介する(3.順位・連番の付け方(発展編)) ・MySQL8.

    MySQL8.0のWindow関数を分かりやすく紹介する(5.謎多きフレーム句を使うと良いことはあるのか?) | スマートスタイル TECH BLOG
  • BigQueryでJSON文字列を攻略する関数たち - ドワンゴ教育サービス開発者ブログ

    はじめに ドワンゴ教育事業でデータアナリストとして働いている小林です。 ドワンゴ教育事業におけるデータアナリストは企画開発組織の一員としてKPI可視化やレポーティングなどをメイン業務としています。個人的には新たなサービスが生まれる瞬間のお仕事が一番好きで、「何の指標をみていくのか」「どんなデータが流れてくるのか」など少し上流の工程からデータの取り扱いを検討するとともに、既存のダッシュボードをバージョンアップする良い機会にしたり、新たなステークホルダーに対して良いデータ分析の提供を考えたりと、楽しい日々が続きます。 私たちドワンゴ教育事業では大学開学やR高の開校など大きなサービスリリースが予定されていますので、サービス環境の変化を楽しみながらやりがいをポジティブなパワーに変えていきたいと思っています! 課題について(導入に代えて) 昨今、分析対象としてJSON文字列を取り扱うことが増えてきま

    BigQueryでJSON文字列を攻略する関数たち - ドワンゴ教育サービス開発者ブログ
  • データ分析で用いるSQLクエリの設計方法

    STEP2. アウトプットを実現するために必要なデータソースを書き出す アウトプットの整理ができたら、今度はインプットとなるデータソースの整理を行いましょう。 必要なデータソースは要件から読み解くことができます。 今回は「10代のユーザーの月間視聴数(性別 / 動画カテゴリごと)の推移をグラフで見たい」という要件です。 ここから、この分析に必要なエンティティ(実体)とその属性、集計値を抽出しましょう。 エンティティと属性 ユーザー 性別 年代 動画 カテゴリ 集計値 視聴数 これらのデータを管理するテーブルを、調査やヒアリングを実施して探します。 今回は以下のテーブルを使用することとします。 user:ユーザー登録に必須な入力項目を管理するテーブル user_profile:ユーザーが登録後に設定できる任意の入力項目を管理するテーブル video:ユーザーが投稿した動画を管理するテーブル

    データ分析で用いるSQLクエリの設計方法
  • DuckDB+Evidenceを駆使してISUCON14で21位になった話 - Gマイナー志向

    2024年12月8日に開催されたISUCON14に「ウー馬場ーイーツ・ザ・ファイナル」として参加しました。最終スコアは29,386でした。実装言語はGoです。 こんなPostをしてましたがRustは採用しませんでした(今回は余裕がなかった)。 講談社サイエンティフィク様からのご厚意で書籍「RustによるWebアプリケーション開発」をご恵贈いただきました。早速読み進めてます。今年のISUCONはRustで決まりかー!? #PR https://t.co/sOAcWEqE8P pic.twitter.com/cK7V6lPMQk— matsuu (@matsuu) 2024年10月8日 今年のチャレンジについて 我らがチームはISUCON開催のたびに新たなチャレンジ*1をしてるのですが、今回は以下の4つにチャレンジしました。 ログ解析の見直し 生成AIの導入 rustlsの導入 bpftune

    DuckDB+Evidenceを駆使してISUCON14で21位になった話 - Gマイナー志向
  • センスの良いSQLを書く技術 達人エンジニアが実践している35の原則

    【どうすれば達人のようなコードが書けるのか?】 著書累計20万部超、データベース界の達人・ミック氏が、 「センスの良いSQLを書く技術」を身につけるための思考法や勉強法を大公開! コーディングや設計を行う上で知っていると一生役に立つ、 SQLRDBの理論や哲学をわかりやすく解説しています。 【達人が考えるセンスの良いSQLとは?】 目指すのは、無駄がなく、可読性が高いエレガントなSQLです。 メンテのしやすさ、パフォーマンスの良さにつながるからです。 書では、エレガントでかつハイパフォーマンスなSQLを実現する技術として、 ・SQLの書きやすい順序 ・効率的なクエリの書き方 ・保守しやすいコード ・適切なインデックス戦略 ・実行計画の重要性 ・無限のスケーラビリティ 等を解説しています。 【書の特徴】 1テーマごとに、まずサマリー+イメージイラストで おおまかな内容を直感的につかめる

    センスの良いSQLを書く技術 達人エンジニアが実践している35の原則
  • SQL+Markdownだけでデータ可視化できるOSS Evidenceを使ってPerfumeの楽曲分析をしてみる - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? BIをコード管理したくないですか?私はしたいです。 BI as Codeを謳うOSSがあるようなので、Get Startedしてみます。 環境構築 公式ドキュメントを見ると、VSCodeのExtensionを入れて開発することを推奨しているようです。 2.Open the Command Palette (Ctrl/Cmd + Shift + P) and enter Evidence: New Evidence Project 3.Click Start Evidence in the bottom status bar 拡張機能のイ

    SQL+Markdownだけでデータ可視化できるOSS Evidenceを使ってPerfumeの楽曲分析をしてみる - Qiita
  • DatabricksSQL パフォーマンス・チューニング Tips - Qiita

    はじめに この記事はこれまで実案件において実施したDatabricksSQLパフォーマンスチューニングの作業内容をベースに、実行クエリのボトルネック特定からパフォーマンス改善の手法について共通すると思われるTipsをベストプラクティスとしてまとめたものです。 DatabricksSQLの操作経験がある方を対象に記載しておりますため、DatabrickSQLの機能説明や用語解説及び設定コマンドの詳細等は割愛しておりますが、今回初めてDatabricksSQLをご検討される方でも理解いただけるよう、該当するDatabricksドキュメントリンクも併せて記載しておりますので適宜ご参照ください。 ※ドキュメントへのリンクはAzure Databricksのリンクを使用していますがAWS/CGP上のDatabricksでも同様の機能を提供しています。 DatabricksSQLとは Databric

    DatabricksSQL パフォーマンス・チューニング Tips - Qiita
  • 生SQLに型を手書きする時代は終わり?Prismaの新機能「TypedSQL」

    SQLを扱う $queryRaw TypeScript向けのORMライブラリとしてPrismaがあります。Prismaは直感的で型安全なAPIを提供し、TypeScript向けのORMとしては第一に名前が上がることが多いライブラリです。 しかしそんな人気なPrismaでも、裏側では少しクセのあるSQLが発行されていたり、欲しいSQLがPrismaのAPIでは実現できない場合があります。 そういった場合のために $queryRaw というメソッドが用意されており、これを使うことで生SQLを書いてその結果を受け取ることができました。他のORMにもよくある機能です。 例えば以下のように実装することができます。 const users = await prisma.$queryRaw` SELECT id, name FROM "Users" WHERE id = ${userID} `; co

    生SQLに型を手書きする時代は終わり?Prismaの新機能「TypedSQL」
  • セマンティックレイヤー / Headless BIとは

    この記事は何 2023年、世間はLLMで大騒ぎですが、データの業界ではセマンティックレイヤー・Headless BIへの注目も高まっています。 これは、まだ国内では黎明期ともいえるそんな技術が、今後どんな存在となりうるのかを、筆者の個人的な解釈と妄想をもとに述べる長文ポエムです。 セマンティックレイヤーとは まず最初にセマンティックレイヤーについて解説します。 セマンティックレイヤーとは セマンティックレイヤーとは、データベースとデータ利用者の間に入り、両者間のやりとりを円滑にする存在です。 データ統合プラットフォームを提供するAirbyte社は、セマンティックレイヤーをデータとビジネスユーザーの中間に位置する、複雑なデータを理解可能なビジネスの概念に変換・翻訳するレイヤーと説明しています。 A semantic layer is a translation layer that sits

    セマンティックレイヤー / Headless BIとは
  • サブクエリの書き方を2万文字弱かけてすべて解説する

    これはなに ども、レバテック開発部のもりたです。 今回はSQLのサブクエリについてまとめます。仕事でクエリを書く際、サブクエリは頻出の構文だと思うんですが、同時にサブクエリの書き方を完全に理解しているよという人は案外少ないのではないでしょうか?[1] 実際、MySQLの公式ドキュメントを見ると12ページくらいを割かれており、意外と奥深いのがサブクエリです。使いこなせると便利ですし、何よりちょっとSQLのコツみたいなのがわかって面白いよ、ということで記事にしてみました。 前提 この記事は以下の前提を含んでいます。 環境 MySQL8.0系 読者の知識 なんとなくサブクエリが書ける けど相関サブクエリとかになると「あーっ」つってGoogle meetを閉じてしまうくらいのレベル感 記事のボリューム 18,000文字 おれの卒論が20,000文字だった マサカリ 間違ってたら投げてくれ〜〜 それ

    サブクエリの書き方を2万文字弱かけてすべて解説する
  • Pinterest社で運用されているText-to-SQLを理解する

    導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、LLMを使用したチャットのサービスを提供しており、とりわけRAGシステムの改善は日々の課題になっています。 記事では、Pinterest社のエンジニアチームが紹介していた、実運用環境におけるText-to-SQLの構築方法に関する記事の紹介をします。 Text-to-SQLを実際の運用レベルで実現するための手法が解説されているので、その内容を解説、そして考察していきたいと思います。 なおこの手法には特に名前などは設定されていなかったので、以降Pinterest社の提案するText-to-SQLPinterest Text-to-SQLと呼称します。 サマリー Pinterest Text-to-SQLは、RAGのシステムを最適化することで 検索に必要なTableのより正確な抽出 実際に使用されている値に準拠

    Pinterest社で運用されているText-to-SQLを理解する
  • AWS Glue × Apache Iceberg で構築する更新可能なデータレイクテーブル

    こんにちは。シンプルフォーム株式会社 にてインフラエンジニアをしています、山岸です。 社内向けに運用しているデータ分析基盤について現状抱えているいくつかの課題を克服すべく、最近は更改に向けた検証に取り組んでいます。今回は取り組みの一つである「AWS Glue と Apache Iceberg によるデータレイクテーブル構築」についてご紹介したいと思います。 概要 当社ではデータ分析基盤の ETL 処理に AWS Glue を使用しています。社内のデータ分析業務等のため、RDS データベース等のデータソースから日次で S3 上に構築された DWH に連携しています。 現行のデータ分析基盤では、DB テーブル上のデータを毎日全件洗い替えています。このような処理方法は ETL 実装や問題発生時の復旧が簡単である一方、ETL 処理のコスト効率が悪く、データ量の増加に伴って処理時間も長くなっていきま

    AWS Glue × Apache Iceberg で構築する更新可能なデータレイクテーブル
  • データ分析のためのSQLを書けるようになるために

    はじめに 稿では分析用クエリをスラスラ書けるようになるまでの勉強方法や書き方のコツをまとめてみました。具体的には、自分がクエリを書けるようになるまでに利用した教材と、普段クエリを書く際に意識していることを言語化しています。 想定読者として、SQLをガンガン書く予定の新卒のデータアナリスト/データサイエンティストを想定しています。 勉強方法 基礎の基礎をサッと座学で勉強してから、実践教材で実際にクエリを書くのが望ましいです。 実務で使える分析クエリを書けるようになるためには、実務経験を積むのが一番良いですが、だからといって座学を御座なりにして良いというわけではありません。SQLに自信がない人は、一度基礎に立ち返って文法の理解度を確認した方が良いと思います。 書籍 SQL 第2版: ゼロからはじめるデータベース操作 前提として、SQLに関する書籍の多くがデータベース運用/構築に関する書籍がほ

    データ分析のためのSQLを書けるようになるために
  • どのレイヤー(層)でトランザクションを実装すべきか

    このように、層ごとに関心事の分離を行うことで、保守性の高い(変更容易性や再利用性等)アプリケーションを実現できます。 しかし、「トランザクション」においてはどうでしょうか。 トランザクションはビジネス領域においても、技術領域においても関心事がある内容です。 そういう曖昧なものは「ひとまず usecase 層に入れてしまえ」という方針になりがちです。 ですが、DB 固有の知識を usecase 層の関心事にしてしまっては、関心事の分離をするメリットが得られません。 そのため、関心事の分離を実現しつつトランザクション実装をする方法を模索してみました。 前提 1. クリーンアーキテクチャを採用している(オニオンアーキテクチャやレイヤードアーキテクチャも含む) そもそもビジネス知識と技術知識を分離していないアーキテクチャを採用している場合、メリットは得られません。 そのため、オニオンアーキテクチャ

    どのレイヤー(層)でトランザクションを実装すべきか