AI資格ドリル
資格を選ぶ↓

DS検定 第6章 データエンジニアリング基礎 予想問題(2/2)

40問〜第60問を掲載しています。答えを開き、誤答選択肢との違いまで確認してください。 この章の第1問から読む場合は第6章 データエンジニアリング基礎のページへ戻ります。

情報源と編集区分

公式範囲を確認し、問題文・選択肢・解説は当サイトが作成。本試験問題の複写ではありません。 一次情報確認日: 2026-07-12。

試験概要(公式)
40 ・ 環境構築・データ収集

クラウド上で機械学習の分析環境を使いたいが、サーバーなどのインフラを自社で構築・運用する負担は抑えたい。クラウド事業者がその運用を代行するサービスはどれか。

  • クラウドマネージドサービス
  • Docker
  • SDK
  • Webクローラー
答えと解説を見る
クラウドマネージドサービス正解
解説

正解は「クラウドマネージドサービス」である。クラウドマネージドサービスは、クラウド事業者がインフラの構築・運用を代行するサービスであり、分析環境を自社で細かく運用する負担を抑えたい設問に当てはまる。Dockerはアプリケーションを隔離した環境で動かすためのコンテナ技術、SDKは特定のプラットフォーム向けの開発で使うライブラリやツールの集合である。WebクローラーはWebページを巡回して情報を収集するプログラムであり、分析環境の運用を代行するサービスではない。設問では、コードを書くための道具か、ページを収集するプログラムかではなく、インフラ運用を誰が担うかを確認する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

41 ・ 環境構築・データ収集

公開WebページのHTMLから、商品名や価格など必要な項目を取り出して表へ保存する処理はどれか。

  • スクレイピング
  • Webクローラー
  • SFTP
  • SDK
答えと解説を見る
スクレイピング正解
解説

正解は「スクレイピング」である。スクレイピングは、Webページなどから必要なデータを抽出する処理を指す。設問ではHTMLから商品名や価格という項目を取り出しているため、収集対象のページを探すことではなく、ページ内の必要なデータを抽出するスクレイピングに当たる。WebクローラーはWebページを巡回して情報を収集するプログラム、SFTPはネットワーク越しにファイルを安全に転送する通信方式、SDKは開発用のライブラリやツールの集合である。Web上の作業では、ページを見つける段階と、ページ内から項目を取り出す段階を分けると選べる。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

42 ・ データ構造・蓄積

利用者ごとに項目の種類が異なる閲覧履歴を、関係データベースの表形式だけに限定せずに保存・利用したい。このようなデータベースの総称はどれか。

  • NoSQL
  • DWH
  • 正規化
  • ER図
答えと解説を見る
NoSQL正解
解説

正解は「NoSQL」である。NoSQLは、関係データベースの表形式だけに限定せずにデータを扱うデータベースの総称である。設問のように利用者ごとに項目の種類が異なるデータを扱う場面では、表形式だけに限定しないという条件が判断の軸になる。DWHは複数のデータを分析用に蓄積・統合する基盤、正規化は関係データベースのテーブル設計を整理する考え方、ER図はテーブル間の関連を図示する設計手法である。どれもデータ活用に関係するが、データベースの形式を表す名称ではない。まず設問がデータを保存する基盤の目的を問うのか、表形式に限定しないデータベースの種類を問うのかを区別する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

43 ・ データ加工・共有

従業員表にある上司IDを同じ従業員表の従業員IDと対応させ、各従業員について上司の氏名も表示したい。この結合操作はどれか。

  • 自己結合
  • 内部結合
  • 外部結合
  • UNION
答えと解説を見る
自己結合正解
解説

正解は「自己結合」である。自己結合は、同じテーブルに別名を付けて結合する操作である。設問では従業員表を一方では部下、もう一方では上司として扱い、同じ表の従業員IDと上司IDを対応させるため自己結合を使う。内部結合と外部結合は一致する行・一致しない行をどう残すかという結合結果の性質を表す語であり、同じ表を二つの役割で使うかどうかを表す語ではない。UNIONは列構成が同じ複数の検索結果を行方向にまとめる演算子で、キーで列を対応させる結合とは向きが異なる。設問では一致行を残すかより先に、結合する二つが同じテーブルかを確認する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

44 ・ データ構造・蓄積

分散処理基盤を選ぶ際、大量データをメモリ上で処理して高速な分散処理を行うエンジンとして最も適切なものはどれか。

  • Spark
  • Hadoop
  • Docker
  • SFTP
答えと解説を見る
Spark正解
解説

正解は「Spark」である。SparkはHadoopと並ぶ代表的な分散処理エンジンで、データをメモリ上で処理することで高速な分散処理を実現する。設問の判断材料は、複数サーバーで処理するという一般的な分散技術ではなく、「メモリ上で処理して高速にする」というSparkの特徴である。Hadoopは大量データを複数サーバーに分散して蓄積・処理するためのオープンソースの分散処理基盤であるが、設問が示すメモリ上で処理する特徴を表す選択肢ではない。Dockerはコンテナ技術、SFTPは安全なファイル転送方式であり、分散処理エンジンではない。製品名だけでなく、処理をどこで行う特徴まで照合して判断する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

45 ・ データ構造・蓄積

全社のDWHに蓄積したデータから、営業部門が日々の売上分析に必要な項目だけを抽出・加工し、部門向けの小規模なデータ基盤を作りたい。最も適切なものはどれか。

  • データマート
  • DWH
  • データファブリック
  • データメッシュ
答えと解説を見る
データマート正解
解説

正解は「データマート」である。データマートは、DWHに蓄積されたデータから特定の部門や業務目的に必要な範囲を抽出・加工した小規模なデータ基盤である。設問では全社横断のDWH自体を新設するのではなく、営業部門の日々の売上分析へ用途を絞っているためデータマートを選ぶ。DWHは組織全体を横断して利用する集中型のデータ基盤、データファブリックは分散したデータを場所や形式にかかわらず統合・活用する技術的アーキテクチャ、データメッシュはデータの所有と管理をドメインごとに委ねる運用思想である。利用範囲が全社か特定部門かを先に確認する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-08-22公式data_engineering.csv照合)

46 ・ データ加工・共有

複数の売上データを集計し、推移や部門別の状況をグラフやダッシュボードで可視化して、経営上の意思決定を支援したい。利用するものとして最も適切なのはどれか。

  • BIツール
  • SDK
  • REST API
  • オブジェクトストレージ
答えと解説を見る
BIツール正解
解説

正解は「BIツール」である。BIツールはデータを集計・可視化し、ビジネス上の意思決定を支援するために用いる。設問では売上をグラフやダッシュボードで確認し、経営判断へつなげることが目的なのでBIツールが合う。SDKは特定のプラットフォームを利用する開発用部品群、REST APIはシステム間で機能やデータをやり取りするインターフェース、オブジェクトストレージはデータをオブジェクト単位で格納・管理する仕組みである。データの保存や受け渡しではなく、集計・可視化から意思決定を支える段階を問うている。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

47 ・ データ構造・蓄積

顧客、注文、商品というデータベース上の実体と、それらがどのように関連するかを図で表してテーブル設計を確認したい。用いる図はどれか。

  • ER図
  • フローチャート
  • ヒートマップ
  • 散布図行列
答えと解説を見る
ER図正解
解説

正解は「ER図」である。ER図は、データベース内のエンティティ(実体)と、実体同士のリレーションシップ(関連)を図示し、テーブル間の結びつきを確認する設計手法である。設問では顧客・注文・商品という実体とそれらの関連を表したいのでER図を使う。フローチャートは処理や分岐の流れ、ヒートマップは値の大小を色の濃淡、散布図行列は複数変数の組合せごとの関係を表す。図にしたい対象がデータベースの構造か、処理手順や数値の傾向かを分ける。顧客から注文、注文から商品という対応をテーブル設計前に確認する場面が決め手になる。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-08-22公式data_engineering.csv照合)

48 ・ データ構造・蓄積

大量データを複数のサーバーへ分散して蓄積・処理するためのオープンソースの分散処理基盤はどれか。

  • Hadoop
  • Spark
  • NoSQL
  • DWH
答えと解説を見る
Hadoop正解
解説

正解は「Hadoop」である。Hadoopは大量データを複数のサーバーへ分散して蓄積・処理するためのオープンソースの分散処理基盤である。Sparkも分散処理を扱うが、既存問題では大量データをメモリ上で高速に処理するエンジンという特徴で区別している。NoSQLは表形式に限定しないデータベースの総称、DWHは組織内のデータを横断的に蓄積・利用する集中型のデータ基盤である。設問の「分散して蓄積・処理する基盤」という対象を確認し、データベースの種類や分析用の集中基盤と分ける。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-08-22公式data_engineering.csv照合)

49 ・ データ加工・共有

顧客表と注文表を顧客IDで結合し、両方の表で顧客IDが一致する行だけを結果に残したい。使う結合はどれか。

  • 内部結合
  • 外部結合
  • 自己結合
  • UNION
答えと解説を見る
内部結合正解
解説

正解は「内部結合」である。内部結合は、結合条件に一致する行だけを複数のテーブルから組み合わせる操作である。設問では顧客表と注文表の両方に同じ顧客IDがある行だけを残すため内部結合を使う。外部結合は片方にしか存在しない行も残す。自己結合は同じテーブルを別名で結合する。UNIONは列構成が同じ複数のSQL実行結果を行方向にまとめる。二つの表を列方向に対応させるのか、複数の結果を行方向に積むのかを先に分ける。一致しない顧客や注文を結果へ残す要件がないことも判断材料になる。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

50 ・ データ加工・共有

今年度と前年度について、同じ列構成で作成した二つのSQL実行結果を行方向にまとめ、重複する行は取り除きたい。使う演算子はどれか。

  • UNION
  • 内部結合
  • 外部結合
  • 自己結合
答えと解説を見る
UNION正解
解説

正解は「UNION」である。UNIONは、列構成が同じ複数のSQL実行結果を一つへまとめ、重複する行を取り除く演算子である。設問では今年度と前年度という二つの結果を行方向に積むためUNIONを選ぶ。内部結合と外部結合は結合条件を使って異なる表の列を組み合わせ、自己結合は同じ表を別名で結合する。列構成が同じ結果を縦にまとめるのか、キーが対応するレコードの列を横に組み合わせるのかを見分ける。年度ごとの結果に同一行が含まれる場合も、一つに整理したいという重複除去の条件がUNIONに対応する。

https://github.com/The-Japan-DataScientist-Society/skills-checklist (2026-07-12公式スキルチェックリストver.6照合)

51 ・ データ加工・共有

商品名、単価、在庫数という表形式のデータを、各値をカンマで区切ったプレーンテキストとして保存したい。適切な形式はどれか。

  • CSV
  • XML
  • JSON
  • REST API
答えと解説を見る
CSV正解
解説

正解は「CSV」である。CSVは表形式のデータを各行に並べ、フィールドの値をカンマで区切って表すプレーンテキスト形式である。設問は商品名・単価・在庫数という列を持つ表をカンマ区切りで保存すると明示しているためCSVを選ぶ。XMLは開始タグと終了タグで要素を囲む階層的な形式、JSONはキーと値の組や配列で構造を表す形式、REST APIはシステム間で機能やデータをやり取りするインターフェースであって保存形式ではない。データが表形式か階層構造か、形式か通信の仕組みかを分ける。

https://www.rfc-editor.org/rfc/rfc4180 (2026-08-24原文照合)

52 ・ データ加工・共有

開始タグと終了タグで要素を囲み、部署の下に従業員を置くような階層構造を表したい。適切なデータ形式はどれか。

  • XML
  • JSON
  • CSV
  • REST API
答えと解説を見る
XML正解
解説

正解は「XML」である。XMLは開始タグと終了タグで要素を囲み、情報を階層的に構造化するマークアップ言語である。設問では部署の下に従業員を置く階層をタグで表すためXMLを選ぶ。JSONも階層構造を表せるが、タグではなくキーと値や配列を用いる。CSVは値をカンマで区切る表形式のテキスト、REST APIはシステム間の機能やデータのやり取りを定めるインターフェースである。階層を表せるかだけで決めず、タグを使うという構文上の手掛かりまで読む。

https://www.w3.org/press-releases/1998/xml10-rec/ (2026-08-24公式発表照合)

53 ・ データ加工・共有

顧客表の顧客IDが1・2、注文表の顧客IDが1・1・2・3である。顧客IDを条件に内部結合すると、結果は何行になるか。

  • 2行
  • 3行
  • 4行
  • 8行
答えと解説を見る
3行正解
解説

正解は「3行」である。内部結合では、左表の各行について結合条件を満たす右表の各行ごとに結果行を作る。顧客ID 1は顧客表に1行、注文表に2行あるため2組になり、顧客ID 2は両表に1行ずつあるため1組になる。注文表だけにある顧客ID 3は顧客表に一致行がないので結果へ残らない。したがって2+1=3行である。2行は顧客IDの種類だけを数えた値、4行は注文表の全行を残した値、8行は2行と4行の直積であり、いずれも結合条件を満たす行の組数ではない。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.87)・https://www.postgresql.org/docs/current/queries-table-expressions.html (2026-08-31確認)

54 ・ データ加工・共有

左側の顧客表に顧客ID 1・2・3、右側の注文表に顧客ID 1・1・2がある。顧客IDを条件にLEFT OUTER JOINした結果として正しいものはどれか。

  • 3行、NULLなし
  • 4行、ID 3の右側がNULL
  • 4行、ID 1の右側がNULL
  • 5行、ID 3の右側がNULL
答えと解説を見る
4行、ID 3の右側がNULL正解
解説

正解は「4行、ID 3の右側がNULL」である。LEFT OUTER JOINは、まず一致する行の組を作り、右表に一致行がない左表の行も右表側をNULLにして1行残す。顧客ID 1は注文表の2行と一致するため2行、ID 2は1行と一致するため1行になる。ID 3は一致する注文がないが、左表の行なので右側をNULLにした1行として残る。合計は2+1+1=4行である。左表の各IDを必ず1行だけにまとめるわけではなく、一致する右表行が複数ならその組数だけ結果行が生じる。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.87)・https://www.postgresql.org/docs/current/queries-table-expressions.html (2026-08-31確認)

55 ・ データ加工・共有

1列の問い合わせAが1・2・2の3行、問い合わせBが2・3の2行を返す。A UNION BとA UNION ALL Bの結果行数の組み合わせはどれか。

  • UNION 3行、UNION ALL 5行
  • UNION 5行、UNION ALL 3行
  • UNION 4行、UNION ALL 5行
  • UNION 3行、UNION ALL 4行
答えと解説を見る
UNION 3行、UNION ALL 5行正解
解説

正解は「UNION 3行、UNION ALL 5行」である。UNIONは二つの問い合わせ結果を行方向にまとめた後、重複行を除去する。AとBに現れる異なる値は1・2・3なので3行になる。一方、UNION ALLは重複を除去せず、Aの3行とBの2行をすべて残すため3+2=5行になる。UNIONの重複除去はAとBの間だけでなく、各入力結果の内部にある重複にも及ぶため、A内で重なる2も1行へまとめられる。値の種類を数える処理と、入力行をそのまま足す処理を分けることが判断軸である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.87)・https://www.postgresql.org/docs/current/queries-union.html (2026-08-31確認)

56 ・ データ加工・共有

問い合わせAは「顧客ID・顧客名」の2列、問い合わせBは「注文ID」の1列を返す。この二つをそのままUNIONしようとしたときの判断として適切なものはどれか。

  • 列数が違うため、そのままではUNIONできない
  • 不足する顧客名が自動でNULLになり、必ずUNIONできる
  • 列数が違うため、自動的に内部結合へ切り替わる
  • 問い合わせAの2列が1列へ連結され、UNIONできる
答えと解説を見る
列数が違うため、そのままではUNIONできない正解
解説

正解は「列数が違うため、そのままではUNIONできない」である。UNIONは二つの問い合わせ結果を行方向へまとめる集合演算なので、左右の問い合わせは同じ列数を返し、対応する列のデータ型にも互換性が必要になる。本問ではAが2列、Bが1列で対応付ける列数が一致しない。不足列が自動でNULLになる規則はなく、内部結合へ自動変換されたり、Aの2列が自動連結されたりもしない。UNIONを行うなら、例えばB側にも顧客名に対応する列を明示的に追加するなど、列数と対応関係をそろえた上で各列の型を確認する。重複除去の有無を検討するのは、その構造条件を満たした後である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.87)・https://www.postgresql.org/docs/current/queries-union.html (2026-08-31確認)

57 ・ データ加工・共有

ID、地域名、状態の3列をCSVで表す。地域名の値Tokyo, Eastに含まれるカンマを列区切りと誤認させず、一つのフィールドとして保存する行はどれか。

  • 1,Tokyo, East,active
  • 1,"Tokyo, East",active
  • 1;Tokyo, East;active
  • 1,[Tokyo, East],active
答えと解説を見る
1,"Tokyo, East",active正解
解説

正解は「1,"Tokyo, East",active」である。RFC 4180のCSVでは、フィールド内部にカンマを含む場合、そのフィールド全体をダブルクォートで囲む。これによりTokyo, Eastが一つの地域名として扱われ、行全体はID・地域名・状態の3列になる。「1,Tokyo, East,active」はカンマがすべて区切りと解釈され4列になる。セミコロンへ変更した「1;Tokyo, East;active」はカンマ区切りのCSV行ではなく、角括弧を使う「1,[Tokyo, East],active」もRFC 4180の引用規則ではない。区切り文字そのものを値に含めるとき、値を削ったり区切りを無断変更したりせず、引用符でフィールド境界を明示することが要点である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv ・https://www.rfc-editor.org/rfc/rfc4180 (2026-08-31確認)

58 ・ 環境構築・データ収集

アプリの構成ファイルで、databaseというマッピングの下にhostの値db.exampleと、順序を持つportsの値5432・5433を置く。要求された階層を表すYAMLはどれか。

  • database: host: db.example ports: - 5432 - 5433
  • database: host: db.example ports: - 5432 - 5433
  • database: - host: db.example - ports: 5432 - ports: 5433
  • database: host = db.example ports = [5432, 5433]
答えと解説を見る
database: host: db.example ports: - 5432 - 5433正解
解説

正解は、databaseの内側へhostとportsを同じ深さで置き、portsの内側へ5432と5433をハイフン付きで並べたYAMLである。YAML 1.2.2のブロック形式では、マッピングのキーと値をコロンで対応させ、順序を持つシーケンスの各要素を「- 」で示し、子ノードを親より深くインデントする。第2候補はportsがdatabaseと同じ深さなのでトップレベルの別キーになり、要求されたdatabase配下ではない。第3候補はdatabaseの値を三つのマッピングから成るシーケンスに変えており、hostとportsを同じ一つのマッピングへ持たせていない。第4候補の等号はYAMLのブロックマッピングでキーと値を区切る記号ではない。記号だけでなく、インデントが作る親子関係と、portsが順序付きシーケンスである点まで照合する。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.23)・https://yaml.org/spec/1.2.2/ (2026-08-31確認)

59 ・ 環境構築・データ収集

JSON形式の構成ファイルで、userをnameとrolesを持つ一つのobjectにし、nameは文字列A、rolesはadmin、editorの順序を持つarrayにする。要求を満たすJSONはどれか。

  • {"user":{"name":"A","roles":["admin","editor"]}}
  • {"user":[{"name":"A"},{"roles":["admin","editor"]}]}
  • {"user":{"name":"A","roles":"admin,editor"}}
  • {"user":{"name":"A","roles":{"admin","editor"}}}
答えと解説を見る
{"user":{"name":"A","roles":["admin","editor"]}}正解
解説

正解は、userの値を一つのobjectとし、その中にnameとrolesの二つの名前/値ペアを置き、rolesの値を二要素のarrayにしたJSONである。RFC 8259ではobjectを波括弧内の名前/値ペア、arrayを角括弧内の順序付き値列として表し、文字列は二重引用符で囲む。第2候補はuser自体をarrayにしてnameとrolesを別々のobjectへ分けている。第3候補はrolesを一つの文字列にしており、二つの順序付き要素ではない。第4候補のrolesは波括弧内に名前/値ペアでない文字列を並べているためJSONのobjectにならない。括弧の種類だけでなく、各階層で要求されたデータ型と親子関係を照合することが要点である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv (No.23)・https://www.rfc-editor.org/rfc/rfc8259 (2026-08-31確認)

60 ・ データ加工・共有

ID、商品名、状態の3列をCSVで表す。商品名の値はMonitor "Pro"である。ダブルクォートを値の一部として保ち、一つのフィールドに保存する行はどれか。

  • 1,"Monitor "Pro"",active
  • 1,"Monitor ""Pro""",active
  • 1,Monitor ""Pro"",active
  • 1,"Monitor 'Pro'",active
答えと解説を見る
1,"Monitor ""Pro""",active正解
解説

正解は「1,"Monitor ""Pro""",active」である。RFC 4180では、ダブルクォートを含むフィールドは全体をダブルクォートで囲み、値に含めたい各ダブルクォートを二つ続けて表す。したがって、商品名Monitor "Pro"はCSVフィールド内で"Monitor ""Pro"""となり、行全体はID・商品名・状態の3列を保つ。第1候補は内側のダブルクォートを二重化していないため、フィールドの境界と値中の引用符を区別できない。第3候補は商品名フィールド全体を囲んでおらず、第4候補はダブルクォートをシングルクォートへ置き換えて元の値を変えている。引用符を削除・置換せず、CSVの規則でエスケープすることが要点である。

https://raw.githubusercontent.com/The-Japan-DataScientist-Society/skills-checklist/main/data_engineering.csv ・https://www.rfc-editor.org/rfc/rfc4180 (2026-08-31確認)

執筆: ミナト編集部運営者情報を見る

章別問題ページ