Skip to content

Commit 6927055

Browse files
committed
AUTO: Sync ScalarDB docs in Japanese to docs site repo
1 parent a5b6079 commit 6927055

File tree

3 files changed

+319
-1
lines changed

3 files changed

+319
-1
lines changed
Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
---
2+
tags:
3+
- Enterprise Option
4+
- Public Preview
5+
---
6+
7+
# ScalarDB Analytics with Spark の設定
8+
9+
import Tabs from '@theme/Tabs';
10+
import TabItem from '@theme/TabItem';
11+
import TranslationBanner from '/src/components/_translation-ja-jp.mdx';
12+
13+
<TranslationBanner />
14+
15+
ScalarDB Analytics with Spark を設定する方法は 2 つあります:
16+
17+
- `spark.conf` でプロパティを設定する
18+
- ScalarDB Analytics with Spark が提供するヘルパーメソッドを使用する
19+
20+
どちらの方法も概念的には同等のプロセスなので、好みに応じてどちらかを選択できます。
21+
22+
## `spark.conf` を使用して ScalarDB Analytics with Spark を設定する
23+
24+
ScalarDB Analytics with Spark は Spark カスタムカタログプラグインとして提供されるため、`spark.conf` を介して ScalarDB Analytics with Spark を有効にできます。
25+
26+
```properties
27+
spark.sql.catalog.scalardb_catalog = com.scalar.db.analytics.spark.datasource.ScalarDbCatalog
28+
spark.sql.catalog.scalardb_catalog.config = /<PATH_TO_YOUR_SCALARDB_PROPERTIES>/config.properties
29+
spark.sql.catalog.scalardb_catalog.namespaces = <YOUR_NAMESPACE_NAME_2>,<YOUR_NAMESPACE_NAME_2>
30+
spark.sql.catalog.scalardb_catalog.license.key = {"your":"license", "key":"in", "json":"format"}
31+
spark.sql.catalog.scalardb_catalog.license.cert_path = /<PATH_TO_YOUR_LICENSE>/cert.pem
32+
```
33+
34+
:::note
35+
36+
`scalardb_catalog` 部分は設定可能なカタログ名です。任意の名前を選択できます。
37+
38+
:::
39+
40+
### 使用可能なプロパティ
41+
42+
ScalarDB Analytics with Spark で使用可能なプロパティのリストは次のとおりです。
43+
44+
| プロパティ名 | 必須 | 説明 |
45+
|------------------------------------------------------|---------------------------------------------|-----------------------------------------------------------------------------|
46+
| `spark.sql.catalog.{catalog_name}` | はい | `com.scalar.db.analytics.spark.datasource.ScalarDbCatalog` である必要があります |
47+
| `spark.sql.catalog.{catalog_name}.config` | はい | ScalarDB 設定ファイルへのパス |
48+
| `spark.sql.catalog.{catalog_name}.namespaces` | はい | Spark 側にインポートする ScalarDB 名前空間のコンマ区切りリスト |
49+
| `spark.sql.catalog.{catalog_name}.license.key` | はい | JSON形式のライセンスキー |
50+
| `spark.sql.catalog.{catalog_name}.license.cert_path` | これか `license.cert_pem` のいずれかが必要です | ライセンス証明書ファイルへのパス |
51+
| `spark.sql.catalog.{catalog_name}.license.cert_pem` | これか `license.cert_path` のいずれかが必要です | PEM形式のライセンス証明書 |
52+
53+
### スキーマのインポート
54+
55+
`spark.conf` を適切に設定すると、ScalarDB の基盤となるデータベースに接続されたテーブルを含むカタログが Spark 環境に作成されます。ただし、カタログは、ScalarDB によって管理されるトランザクションメタデータを含む生のテーブルへのアクセスを提供します。代わりに、トランザクションメタデータのないアプリケーション管理データのみに関心がある場合があります。
56+
57+
この目的のために、ScalarDB Analytics with Spark は、トランザクションメタデータを解釈し、アプリケーション管理データのみを表示するビューを作成する `SchemaImporter` クラスを提供します。これらのビューには ScalarDB テーブルと同等のスキーマがあり、ユーザーはビューを ScalarDB テーブルのように使用できます。以下は、適切に設定されたカタログで `SchemaImporter` を実行する方法の例です。
58+
59+
```java
60+
import com.scalar.db.analytics.spark.view.SchemaImporter
61+
62+
class YourApp {
63+
public static void main(String[] args) {
64+
SparkSession spark = SparkSession.builder().appName("<YOUR_APPLICATION_NAME>").getOrCreate()
65+
new SchemaImporter(spark, "scalardb_catalog").run() // Import ScalarDB table schemas from the catalog named "scalardb_catalog"
66+
spark.sql("select * from <YOUR_NAMESPACE_NAME_1>.<YOUR_TABLE_NAME>").show()
67+
spark.stop()
68+
}
69+
}
70+
```
71+
72+
## ヘルパーメソッドを使用して ScalarDB Analytics with Spark を設定する
73+
74+
ScalarDB Analytics with Spark が提供するヘルパーメソッドを使用すると、カタログの設定やスキーマのインポートなど、分析クエリを実行するためのすべての設定を行うことができます。さらに、ヘルパーメソッドを使用して、アプリケーションコードで ScalarDB Analytics with Spark を設定することもできます。これは、事前の設定なしで簡単なテストを実行する場合に便利です。
75+
76+
ヘルパーメソッドは、Java および Scala を通じて提供されます。Java では、`ScalarDbAnalyticsInitializer` を使用して、`spark.conf` のプロパティに相当するオプションを次のように指定できます。
77+
78+
```java
79+
import com.scalar.db.analytics.spark.ScalarDbAnalyticsInitializer
80+
81+
class YourApp {
82+
public static void main(String[] args) {
83+
// Initialize SparkSession as usual
84+
SparkSession spark = SparkSession.builder().appName("<YOUR_APPLICATION_NAME>").getOrCreate()
85+
// Setup ScalarDB Analytics with Spark via helper class
86+
ScalarDbAnalyticsInitializer
87+
.builder()
88+
.spark(spark)
89+
.configPath("/<PATH_TO_YOUR_SCALARDB_PROPERTIES>/config.properties")
90+
.namespace("<YOUR_NAMESPACE_NAME_1>")
91+
.namespace("<YOUR_NAMESPACE_NAME_2>")
92+
.licenseKey("{\"your\":\"license\", \"key\":\"in\", \"json\":\"format\"}")
93+
.licenseCertPath("/<PATH_TO_YOUR_LICENSE>/cert.pem")
94+
.build()
95+
.run()
96+
// Run arbitrary queries
97+
spark.sql("select * from <YOUR_NAMESPACE_NAME_1>.<YOUR_TABLE_NAME>").show()
98+
// Stop SparkSession
99+
spark.stop()
100+
}
101+
}
102+
```
103+
104+
Scala では、`setupScalarDbAnalytics` メソッドは `SparkSession` の拡張として利用できます。
105+
106+
```scala
107+
import com.scalar.db.analytics.spark.implicits._
108+
109+
object YourApp {
110+
def main(args: Array[String]): Unit = {
111+
// Initialize SparkSession as usual
112+
val spark = SparkSession.builder.appName("<YOUR_APPLICATION_NAME>").getOrCreate()
113+
// Setup ScalarDB Analytics with Spark via helper method
114+
spark.setupScalarDbAnalytics(
115+
// ScalarDB config file
116+
configPath = "/<PATH_TO_YOUR_SCALARDB_PROPERTIES>/config.properties",
117+
// Namespaces in ScalarDB to import
118+
namespaces = Set("<YOUR_NAMESPACE_NAME_1>", "<YOUR_NAMESPACE_NAME_2>"),
119+
// License information
120+
license = License.certPath("""{"your":"license", "key":"in", "json":"format"}""", "/<PATH_TO_YOUR_LICENSE>/cert.pem")
121+
)
122+
// Run arbitrary queries
123+
spark.sql("select * from <YOUR_NAMESPACE_NAME_1>.<YOUR_TABLE_NAME>").show()
124+
// Stop SparkSession
125+
spark.stop()
126+
}
127+
}
128+
```
129+
Lines changed: 183 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,183 @@
1+
---
2+
tags:
3+
- Enterprise Option
4+
- Public Preview
5+
---
6+
7+
# ScalarDB Analytics with Spark をはじめよう
8+
9+
import Tabs from '@theme/Tabs';
10+
import TabItem from '@theme/TabItem';
11+
import TranslationBanner from '/src/components/_translation-ja-jp.mdx';
12+
13+
<TranslationBanner />
14+
15+
このガイドでは、ScalarDB Analytics with Spark の使用を開始する方法について説明します。
16+
17+
## 前提条件
18+
19+
ScalarDB Analytics with Spark を使用してクエリを実行する前に、ScalarDB テーブルを設定し、Apache Spark をインストールする必要があります。
20+
21+
### ScalarDB テーブルの設定
22+
23+
ScalarDB Analytics with Spark を使用するには、分析クエリを実行するための ScalarDB の基盤となるデータベースが少なくとも 1 つ必要です。ScalarDB に独自の基盤となるデータベースを設定している場合は、このセクションをスキップして、代わりにそのデータベースを使用できます。
24+
25+
独自のデータベースをまだ設定していない場合は、[ScalarDB Analytics with Spark を使用してサンプルデータに対して分析クエリを実行する](../scalardb-samples/scalardb-analytics-spark-sample/README.mdx)の手順に従って、サンプルの基盤となるデータベースを使用して ScalarDB を設定できます。
26+
27+
### Apache Spark のインストール
28+
29+
Apache Spark のパッケージリリースも必要です。すでに Spark がインストールされている場合は、このセクションをスキップできます。
30+
31+
Spark が必要な場合は、[Spark ウェブサイト](https://spark.apache.org/downloads.html)からダウンロードできます。圧縮された Spark ファイルをダウンロードしたら、次のコマンドを実行してファイルを解凍する必要があります。`X.X.X` は、ダウンロードした Spark のバージョンに置き換えてください。
32+
33+
```console
34+
tar xf spark-X.X.X-bin-hadoop3.tgz
35+
```
36+
37+
次に、次のコマンドを実行してディレクトリに入ります。ここでも、`X.X.X` はダウンロードした Spark のバージョンに置き換えます。
38+
39+
```console
40+
cd spark-X.X.X-bin-hadoop3
41+
```
42+
43+
## Spark シェルを設定する
44+
45+
以下では、Spark シェルを使用してインタラクティブな分析を実行する方法について説明します。
46+
47+
ScalarDB Analytics with Spark は Maven Central Repository で利用できるため、`--packages` オプションを使用して Spark シェルで ScalarDB Analytics with Spark を有効にすることができます。`<SPARK_VERSION>_<SCALA_VERSION>:<SCALARDB_ANALYTICS_WITH_SPARK_VERSION>` は、使用しているバージョンに置き換えてください。
48+
49+
```console
50+
./bin/spark-shell --packages com.scalar-labs:scalardb-analytics-spark-<SPARK_VERSION>_<SCALA_VERSION>:<SCALARDB_ANALYTICS_WITH_SPARK_VERSION>
51+
```
52+
53+
:::warning
54+
55+
ScalarDB Analytics with Spark は、さまざまな Spark および Scala バージョン用のさまざまなアーティファクトを提供します。これは、`scalardb-analytics-spark-<SPARK_VERSION>_<SCALA_VERSION>` の形式で提供されます。使用している Spark および Scala バージョンに一致するアーティファクトを選択してください。
56+
57+
参考として、[ScalarDB Analytics with Spark のバージョン互換性](version-compatibility.mdx)を参照してください。
58+
59+
:::
60+
61+
次に、シェルで ScalarDB Analytics with Spark 環境を設定する必要があります。ScalarDB Analytics with Spark には、分析クエリを実行するためのすべての設定を行うヘルパーメソッドが用意されています。
62+
63+
```scala
64+
spark-shell> import com.scalar.db.analytics.spark.implicits._
65+
spark-shell> spark.setupScalarDbAnalytics(
66+
| // ScalarDB config file
67+
| configPath = "/<PATH_TO_YOUR_SCALARDB_PROPERTIES>/config.properties",
68+
| // Namespaces in ScalarDB to import
69+
| namespaces = Set("<YOUR_NAMESPACE_NAME_1>", "<YOUR_NAMESPACE_NAME_2>"),
70+
| // License information
71+
| license = License.certPath("""{"your":"license", "key":"in", "json":"format"}""", "/<PATH_TO_YOUR_LICENSE>/cert.pem")
72+
| )
73+
```
74+
75+
これで、ScalarDB の基盤となるデータベースのテーブルからデータを読み取り、Spark Dataset API を通じて任意の分析クエリを実行できるようになりました。例:
76+
77+
```console
78+
spark-shell> spark.sql("select * from <YOUR_NAMESPACE_NAME_1>.<YOUR_TABLE_NAME>").show()
79+
```
80+
81+
## Spark アプリケーションを実装して起動する
82+
83+
このセクションでは、ScalarDB Analytics with Spark を使用して Spark アプリケーションを実装し、当該アプリケーションを起動する方法について説明します。
84+
85+
SBT、Gradle、Maven などのビルドツールを使用して、ScalarDB Analytics with Spark をアプリケーションに統合できます。
86+
87+
<Tabs groupId="implementation" queryString>
88+
<TabItem value="gradle" label="Gradle" default>
89+
Gradle プロジェクトの場合は、`build.gradle.kts` ファイルに以下を追加し、`<SPARK_VERSION>_<SCALA_VERSION>:<SCALARDB_ANALYTICS_WITH_SPARK_VERSION>` を使用しているバージョンに置き換えます。
90+
91+
```kotlin
92+
implementation("com.scalar-labs:scalardb-analytics-spark-<SPARK_VERSION>_<SCALA_VERSION>:<SCALARDB_ANALYTICS_WITH_SPARK_VERSION>")
93+
```
94+
</TabItem>
95+
<TabItem value="maven" label="Maven" default>
96+
Groovy を使用して Gradle を設定するには、`build.gradle` ファイルに以下を追加し、`<SPARK_VERSION>_<SCALA_VERSION>:<SCALARDB_ANALYTICS_WITH_SPARK_VERSION>` を、使用しているバージョンに置き換えます。
97+
98+
```groovy
99+
implementation 'com.scalar-labs:scalardb-analytics-spark-<SPARK_VERSION>_<SCALA_VERSION>:<SCALARDB_ANALYTICS_WITH_SPARK_VERSION>'
100+
```
101+
</TabItem>
102+
<TabItem value="sbt" label="SBT">
103+
アプリケーションを SBT プロジェクトに追加するには、`build.sbt` ファイルに次のコードを挿入し、`<SPARK_VERSION>``<SCALA_VERSION>` を使用しているバージョンに置き換えます。
104+
105+
```scala
106+
libraryDependencies += "com.scalar-labs" %% "scalardb-analytics-spark-<SPARK_VERSION>" % "<SCALA_VERSION>"
107+
```
108+
</TabItem>
109+
</Tabs>
110+
111+
ScalarDB Analytics with Spark をアプリケーションに統合した後、上記で説明したのと同じヘルパーメソッドを使用して、Spark アプリケーションで ScalarDB Analytics with Spark を設定できます。
112+
113+
<Tabs groupId="helper_method" queryString>
114+
<TabItem value="Scala" label="Scala" default>
115+
以下は Scala を使用するサンプルアプリケーションです。
116+
117+
```scala
118+
import com.scalar.db.analytics.spark.implicits._
119+
120+
object YourApp {
121+
def main(args: Array[String]): Unit = {
122+
// Initialize SparkSession as usual
123+
val spark = SparkSession.builder.appName("<YOUR_APPLICATION_NAME>").getOrCreate()
124+
// Setup ScalarDB Analytics with Spark via helper method
125+
spark.setupScalarDbAnalytics(
126+
// ScalarDB config file
127+
configPath = "/<PATH_TO_YOUR_SCALARDB_PROPERTIES>/config.properties",
128+
// Namespaces in ScalarDB to import
129+
namespaces = Set("<YOUR_NAMESPACE_NAME_1>", "<YOUR_NAMESPACE_NAME_2>"),
130+
// License information
131+
license = License.certPath("""{"your":"license", "key":"in", "json":"format"}""", "/<PATH_TO_YOUR_LICENSE>/cert.pem")
132+
)
133+
// Run arbitrary queries
134+
spark.sql("select * from <YOUR_NAMESPACE_NAME_1>.<YOUR_TABLE_NAME>").show()
135+
// Stop SparkSession
136+
spark.stop()
137+
}
138+
}
139+
```
140+
</TabItem>
141+
<TabItem value="Java" label="Java">
142+
Java で ScalarDB Analytics with Spark を使用した Spark アプリケーションを作成できます。
143+
144+
```java
145+
import com.scalar.db.analytics.spark.ScalarDbAnalyticsInitializer
146+
147+
class YourApp {
148+
public static void main(String[] args) {
149+
// Initialize SparkSession as usual
150+
SparkSession spark = SparkSession.builder().appName("<YOUR_APPLICATION_NAME>").getOrCreate()
151+
// Setup ScalarDB Analytics with Spark via helper class
152+
ScalarDbAnalyticsInitializer
153+
.builder()
154+
.spark(spark)
155+
.configPath("/<PATH_TO_YOUR_SCALARDB_PROPERTIES>/config.properties")
156+
.namespace("<YOUR_NAMESPACE_NAME_1>")
157+
.namespace("<YOUR_NAMESPACE_NAME_2>")
158+
.licenseKey("{\"your\":\"license\", \"key\":\"in\", \"json\":\"format\"}")
159+
.licenseCertPath("/<PATH_TO_YOUR_LICENSE>/cert.pem")
160+
.build()
161+
.run()
162+
// Run arbitrary queries
163+
spark.sql("select * from <YOUR_NAMESPACE_NAME_1>.<YOUR_TABLE_NAME>").show()
164+
// Stop SparkSession
165+
spark.stop()
166+
}
167+
}
168+
```
169+
</TabItem>
170+
</Tabs>
171+
172+
次に、`sbt package``./gradlew assemble` などの好みのビルドツールを使用して .jar ファイルを作成する必要があります。
173+
174+
.jar ファイルを作成したら、`spark-submit` を使用してその .jar ファイルを Spark クラスターに送信できます。`--packages` オプションを使用して、次のコマンドを実行し、クラスターで ScalarDB Analytics ライブラリを有効にします。`<SPARK_VERSION>_<SCALA_VERSION>:<SCALARDB_ANALYTICS_WITH_SPARK_VERSION>` は、使用しているバージョンに置き換えてください。
175+
176+
```console
177+
./bin/spark-submit \
178+
--class "YourApp" \
179+
--packages com.scalar-labs:scalardb-analytics-spark-<SPARK_VERSION>_<SCALA_VERSION>:<SCALARDB_ANALYTICS_WITH_SPARK_VERSION> \
180+
<YOUR_APP_NAME>.jar
181+
```
182+
183+
一般的な Spark アプリケーション開発の詳細については、[Apache Spark ドキュメント](https://spark.apache.org/docs/latest/)を参照してください。

i18n/versioned_docs/ja-jp/docusaurus-plugin-content-docs/current/scalardb-cluster/compatibility.mdx

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,13 @@ import TranslationBanner from '/src/components/_translation-ja-jp.mdx';
2323
| 3.10 | 3.9 - 3.10 | サポート対象外 |
2424
| 3.9 | 3.9 | サポート対象外 |
2525

26-
\* このバージョンはプライベートプレビュー段階であるため、将来のバージョンでは下位互換性のない更新が行われる可能性があります。
26+
:::note
27+
28+
- \* このバージョンはプライベートプレビュー段階であるため、将来のバージョンでは下位互換性のない更新が行われる可能性があります。
29+
- クライアントツール ([ScalarDB Cluster SQL CLI](developer-guide-for-scalardb-cluster-with-java-api.mdx#sql-cli) および [ScalarDB Cluster Schema Loader](developer-guide-for-scalardb-cluster-with-java-api.mdx#クラスター用-schema-loader)) は、ScalarDB Cluster Java Client SDK と同じものと見なすことができます。つまり、ScalarDB Cluster Java Client SDK と同じ互換性ルールをクライアントツールに適用できます。
30+
- ScalarDB Cluster が新しいマイナーバージョンで提供する新機能を使用する場合は、同じバージョンまたはそれ以降のバージョンのクライアントツールを使用するか、既存のスキーマを再作成 (または更新) する必要があります。詳細については、各機能の関連ドキュメントを参照してください。
31+
32+
:::
2733

2834
## バージョンスキューポリシー
2935

0 commit comments

Comments
 (0)