itamae-plugin-recipe-spark 0.1.9 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4a57bd0c4c43b94a896f87b20b4580c10ffe76e2995af89ae2a60e44963554c
4
- data.tar.gz: f61d1f73264122bd76db928b6d85b261fec7ee754cdd06b94f683ec20a08f2f7
3
+ metadata.gz: 0d4c843d9f1451d6574eb7dc53e04514a17f83c440300d87c9ee83059f407e5d
4
+ data.tar.gz: 04b68e26473e7d794ac5ddf095e7f6cdf2cc63462c417d6de48a83394ee579c1
5
5
  SHA512:
6
- metadata.gz: 49e7761e3f424ce810e3bd423e4ade4cf122122fbdff80dffc7d200573bea3d31b19a367e8648fac00bf80796ec23b34a171e24564d94f2579dd9fa64c95278f
7
- data.tar.gz: 343ffa8a4f31b83bdf2543185c3a65832b785cb9734de40c10866cb7d38b7f851db1f7462f91872252dd59291376a7bc56578fc18aaf25d8769f94df0d72e4b9
6
+ metadata.gz: 156ddc8e74c4eed60c6c8a9c9c631bac9ebadc4c734e8ee3b8b15e1f79aebc99e5adea177f0ab764ee09ac7e724564844899ffa585b2ed3af2c144316fb106c9
7
+ data.tar.gz: 3dfd725daaf86562d48847fd7ab9e51641a7319601b92e9d1d709e879b8768b7b82e041830581cbd82377c871dc6118857ccfd1c81a3f9a010f9a268bb19b7ee
@@ -1,6 +1,6 @@
1
1
  version = ENV['SPARK_VERSION'] || Itamae::Plugin::Recipe::Spark::SPARK_VERSION
2
2
  hadoop_version = ENV['HADOOP_VERSION'] || Itamae::Plugin::Recipe::Hadoop::HADOOP_VERSION
3
- hadoop_type = if Gem::Version.create(hadoop_version) == Gem::Version.create('3.3.3')
3
+ hadoop_type = if Gem::Version.create(hadoop_version) >= Gem::Version.create('3.3.3')
4
4
  '3'
5
5
  elsif Gem::Version.create(hadoop_version) >= Gem::Version.create('3.2')
6
6
  '3.2'
@@ -19,22 +19,38 @@ execute "download spark-#{version}" do
19
19
  not_if "test -e /opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/INSTALLED || echo #{::File.read(::File.join(::File.dirname(__FILE__), "spark-#{version}_hadoop_#{hadoop_type}_sha256.txt")).strip} | sha256sum -c"
20
20
  end
21
21
 
22
- spark_redshift_version = Itamae::Plugin::Recipe::Spark::SPARK_REDSHIFT_VERSION
23
- spark_avro_version = Itamae::Plugin::Recipe::Spark::SPARK_AVRO_VERSION
22
+ spark_redshift_version = ENV['SPARK_REDSHIFT_VERSION'] || Itamae::Plugin::Recipe::Spark::SPARK_REDSHIFT_VERSION
23
+ spark_avro_version = ENV['SPARK_AVRO_VERSION'] || Itamae::Plugin::Recipe::Spark::SPARK_AVRO_VERSION
24
24
  minimal_json_version = Itamae::Plugin::Recipe::Spark::MINIMAL_JSON_VERSION
25
- redshift_jdbc_version = Itamae::Plugin::Recipe::Spark::REDSHIFT_JDBC_VERSION
25
+ redshift_jdbc_version = ENV['REDSHIFT_JDBC_VERSION'] || Itamae::Plugin::Recipe::Spark::REDSHIFT_JDBC_VERSION
26
26
  fastdoubleparser_version = Itamae::Plugin::Recipe::Spark::FASTDOUBLEPARSER_VERSION
27
27
  jets3t_version = Itamae::Plugin::Recipe::Spark::JETS3T_VERSION
28
+ aws_secretsmanager_caching_java_version = Itamae::Plugin::Recipe::Spark::AWS_SECRETSMANAGER_CACHING_JAVA_VERSION
29
+ aws_secretsmanager_jdbc_version = Itamae::Plugin::Recipe::Spark::AWS_SECRETSMANAGER_JDBC_VERSION
28
30
  execute "download spark-redshift-#{spark_redshift_version} and dependencies" do
29
31
  cwd '/tmp'
30
32
  command <<-EOF
31
- wget -q https://repo1.maven.org/maven2/io/github/spark-redshift-community/spark-redshift_#{spark_redshift_version.split('-').first}/#{spark_redshift_version.split('-').last}/spark-redshift_#{spark_redshift_version}.jar -O spark-redshift_#{spark_redshift_version}.jar
33
+ wget -q https://repo1.maven.org/maven2/io/github/spark-redshift-community/spark-redshift_#{spark_redshift_version.split('-', 2).first}/#{spark_redshift_version.split('-', 2).last}/spark-redshift_#{spark_redshift_version}.jar -O spark-redshift_#{spark_redshift_version}.jar
32
34
  wget -q https://repo1.maven.org/maven2/org/apache/spark/spark-avro_#{spark_avro_version.split('-').first}/#{spark_avro_version.split('-').last}/spark-avro_#{spark_avro_version}.jar -O spark-avro_#{spark_avro_version}.jar
33
- wget -q https://repo1.maven.org/maven2/com/eclipsesource/minimal-json/minimal-json/#{minimal_json_version}/minimal-json-#{minimal_json_version}.jar -O minimal-json-#{minimal_json_version}.jar
34
- wget -q https://s3.amazonaws.com/redshift-downloads/drivers/jdbc/#{redshift_jdbc_version}/redshift-jdbc42-#{redshift_jdbc_version}.jar -O RedshiftJDBC42-#{redshift_jdbc_version}.jar
35
- wget -q https://repo1.maven.org/maven2/ch/randelshofer/fastdoubleparser/#{fastdoubleparser_version}/fastdoubleparser-#{fastdoubleparser_version}.jar -O fastdoubleparser-#{fastdoubleparser_version}.jar
36
- wget -q https://repo1.maven.org/maven2/net/java/dev/jets3t/jets3t/#{jets3t_version}/jets3t-#{jets3t_version}.jar -O jets3t-#{jets3t_version}.jar
35
+ wget -q https://repo1.maven.org/maven2/com/amazon/redshift/redshift-jdbc42/#{redshift_jdbc_version}/redshift-jdbc42-#{redshift_jdbc_version}.jar -O RedshiftJDBC42-#{redshift_jdbc_version}.jar
36
+ #{if spark_redshift_version.split('-', 2).last == '5.0.3'
37
+ <<-EOS
38
+ wget -q https://repo1.maven.org/maven2/com/eclipsesource/minimal-json/minimal-json/#{minimal_json_version}/minimal-json-#{minimal_json_version}.jar -O minimal-json-#{minimal_json_version}.jar
39
+ wget -q https://repo1.maven.org/maven2/ch/randelshofer/fastdoubleparser/#{fastdoubleparser_version}/fastdoubleparser-#{fastdoubleparser_version}.jar -O fastdoubleparser-#{fastdoubleparser_version}.jar
40
+ wget -q https://repo1.maven.org/maven2/net/java/dev/jets3t/jets3t/#{jets3t_version}/jets3t-#{jets3t_version}.jar -O jets3t-#{jets3t_version}.jar
41
+ EOS
42
+ elsif spark_redshift_version.split('-', 2).last == '6.2.0-spark_3.4'
43
+ <<-EOS
44
+ wget -q https://repo1.maven.org/maven2/com/amazonaws/secretsmanager/aws-secretsmanager-jdbc/#{aws_secretsmanager_jdbc_version}/aws-secretsmanager-jdbc-#{aws_secretsmanager_jdbc_version}.jar -O aws-secretsmanager-jdbc-#{aws_secretsmanager_jdbc_version}.jar
45
+ EOS
46
+ elsif spark_redshift_version.split('-', 2).last == '6.4.3-spark_3.5'
47
+ <<-EOS
48
+ wget -q https://repo1.maven.org/maven2/com/amazonaws/secretsmanager/aws-secretsmanager-caching-java/#{aws_secretsmanager_caching_java_version}/aws-secretsmanager-caching-java-#{aws_secretsmanager_caching_java_version}.jar -O aws-secretsmanager-caching-java-#{aws_secretsmanager_caching_java_version}.jar
49
+ wget -q https://repo1.maven.org/maven2/com/amazonaws/secretsmanager/aws-secretsmanager-jdbc/#{aws_secretsmanager_jdbc_version}/aws-secretsmanager-jdbc-#{aws_secretsmanager_jdbc_version}.jar -O aws-secretsmanager-jdbc-#{aws_secretsmanager_jdbc_version}.jar
50
+ EOS
51
+ end}
37
52
  EOF
53
+
38
54
  not_if "sha256sum -c #{File.join(File.dirname(__FILE__), "spark-redshift_#{spark_redshift_version}_sha256.txt")}"
39
55
  end
40
56
 
@@ -46,6 +62,62 @@ execute 'download aws-java-sdk' do
46
62
  not_if 'test -e /tmp/aws-java-sdk.zip'
47
63
  end
48
64
 
65
+
66
+ aws_sdk_v2_version = ENV['AWS_SDK_V2_VERSION'] || Itamae::Plugin::Recipe::Spark::AWS_SDK_V2_VERSION
67
+ aws_sdk_v2_jars = %w[
68
+ apache-client
69
+ arns
70
+ auth
71
+ aws-core
72
+ aws-query-protocol
73
+ aws-xml-protocol
74
+ checksums
75
+ checksums-spi
76
+ endpoints-spi
77
+ http-auth
78
+ http-auth-aws
79
+ http-auth-spi
80
+ http-client-spi
81
+ identity-spi
82
+ json-utils
83
+ metrics-spi
84
+ profiles
85
+ protocol-core
86
+ regions
87
+ retries
88
+ retries-spi
89
+ s3
90
+ s3-transfer-manager
91
+ sdk-core
92
+ third-party-jackson-core
93
+ utils
94
+ ]
95
+ reactive_streams_version = Itamae::Plugin::Recipe::Spark::REACTIVE_STREAMS_VERSION
96
+ if spark_redshift_version.split('-', 2).last == '6.4.3-spark_3.5'
97
+ directory '/tmp/aws_java_sdk_v2' do
98
+ action :create
99
+ end
100
+
101
+ aws_sdk_v2_jars.each do |jar|
102
+ execute "download aws java sdk v2 #{jar} jar" do
103
+ cwd '/tmp/aws_java_sdk_v2'
104
+ command <<-EOF
105
+ wget -q https://repo1.maven.org/maven2/software/amazon/awssdk/#{jar}/#{aws_sdk_v2_version}/#{jar}-#{aws_sdk_v2_version}.jar
106
+ EOF
107
+ not_if "test -e /tmp/aws_java_sdk_v2/#{jar}-#{aws_sdk_v2_version}.jar"
108
+ end
109
+ end
110
+
111
+ execute "download reactive_streams jar" do
112
+ cwd '/tmp/aws_java_sdk_v2'
113
+ command <<-EOF
114
+ wget -q https://repo1.maven.org/maven2/org/reactivestreams/reactive-streams/#{reactive_streams_version}/reactive-streams-#{reactive_streams_version}.jar
115
+ EOF
116
+ not_if "test -e /tmp/aws_java_sdk_v2/reactive-streams-#{reactive_streams_version}.jar"
117
+ end
118
+ end
119
+
120
+
49
121
  execute 'unzip aws-java-sdk' do
50
122
  cwd '/tmp'
51
123
  command <<-EOF
@@ -84,6 +156,28 @@ execute 'install aws java sdk jar' do
84
156
  not_if "test -e /opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars/aws-java-sdk-*.jar"
85
157
  end
86
158
 
159
+ if spark_redshift_version.split('-', 2).last == '6.4.3-spark_3.5'
160
+ aws_sdk_v2_jars.each do |jar|
161
+ execute "install aws java sdk v2 #{jar} jar" do
162
+ cwd '/tmp/aws_java_sdk_v2'
163
+ command <<-EOF
164
+ cp -f #{jar}-#{aws_sdk_v2_version}.jar \
165
+ /opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars/
166
+ EOF
167
+ not_if "test -e /opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars/#{jar}-#{aws_sdk_v2_version}.jar"
168
+ end
169
+ end
170
+
171
+ execute "install reactive_streams jar" do
172
+ cwd '/tmp/aws_java_sdk_v2'
173
+ command <<-EOF
174
+ cp -f reactive-streams-#{reactive_streams_version}.jar \
175
+ /opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars/
176
+ EOF
177
+ not_if "test -e /opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars/reactive-streams-#{reactive_streams_version}.jar"
178
+ end
179
+ end
180
+
87
181
  execute 'install hadoop aws jar' do
88
182
  cwd '/opt/hadoop/current'
89
183
  command <<-EOF
@@ -93,27 +187,73 @@ execute 'install hadoop aws jar' do
93
187
  not_if "test -e /opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars/hadoop-aws-*.jar"
94
188
  end
95
189
 
190
+ if spark_redshift_version.split('-', 2).last == '6.4.3-spark_3.5'
191
+ source = '/opt/hadoop/current/share/hadoop/client'
192
+ destination = "/opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars"
193
+ jar_name = "hadoop-client-api-#{hadoop_version}.jar"
194
+
195
+ execute "remove old hadoop client api jars" do
196
+ cwd "/opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars"
197
+ command <<-EOF
198
+ for file in hadoop-client-api-*.jar; do
199
+ if [[ -e $file ]]; then
200
+ file_version=${file#hadoop-client-api-}
201
+ file_version=${file_version%.jar}
202
+ if [[ "$(printf '%s\n%s' "#{hadoop_version}" "${file_version}" | sort -V | head -n1)" != "#{hadoop_version}" ]]; then
203
+ rm -f $file
204
+ fi
205
+ fi
206
+ done
207
+ EOF
208
+ only_if "ls /opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}/jars/hadoop-client-api-*.jar"
209
+ end
210
+
211
+ execute "install hadoop client api jar" do
212
+ cwd source
213
+ command <<-EOF
214
+ cp -f #{jar_name} #{destination}
215
+ EOF
216
+ not_if "test -e #{destination}/#{jar_name}"
217
+ end
218
+ end
219
+
96
220
  execute 'install spark-redshift jars' do
97
221
  cwd "/opt/spark/spark-#{version}-bin-hadoop#{hadoop_type}"
98
222
  command <<-EOF
99
223
  ls -d $(find jars) | grep 'spark-redshift_[0-9.-]*.jar' | xargs rm -f
100
- cp -f /tmp/spark-redshift_#{spark_redshift_version}.jar \
101
- jars/
224
+ cp -f /tmp/spark-redshift_#{spark_redshift_version}.jar jars/
225
+
102
226
  ls -d $(find jars) | grep 'spark-avro_[0-9.-]*.jar' | xargs rm -f
103
- cp -f /tmp/spark-avro_#{spark_avro_version}.jar \
104
- jars/
105
- ls -d $(find jars) | grep 'minimal-json-[0-9.]*.jar' | xargs rm -f
106
- cp -f /tmp/minimal-json-#{minimal_json_version}.jar \
107
- jars/
227
+ cp -f /tmp/spark-avro_#{spark_avro_version}.jar jars/
228
+
108
229
  ls -d $(find jars) | grep 'RedshiftJDBC42-[0-9.]*.jar' | xargs rm -f
109
- cp -f /tmp/RedshiftJDBC42-#{redshift_jdbc_version}.jar \
110
- jars/
111
- ls -d $(find jars) | grep 'fastdoubleparser-[0-9.]*.jar' | xargs rm -f
112
- cp -f /tmp/fastdoubleparser-#{fastdoubleparser_version}.jar \
113
- jars/
114
- ls -d $(find jars) | grep 'jets3t-[0-9.]*.jar' | xargs rm -f
115
- cp -f /tmp/jets3t-#{jets3t_version}.jar \
116
- jars/
230
+ cp -f /tmp/RedshiftJDBC42-#{redshift_jdbc_version}.jar jars/
231
+
232
+ #{if spark_redshift_version.split('-', 2).last == '5.0.3'
233
+ <<-EOS
234
+ ls -d $(find jars) | grep 'minimal-json-[0-9.]*.jar' | xargs rm -f
235
+ cp -f /tmp/minimal-json-#{minimal_json_version}.jar jars/
236
+
237
+ ls -d $(find jars) | grep 'fastdoubleparser-[0-9.]*.jar' | xargs rm -f
238
+ cp -f /tmp/fastdoubleparser-#{fastdoubleparser_version}.jar jars/
239
+
240
+ ls -d $(find jars) | grep 'jets3t-[0-9.]*.jar' | xargs rm -f
241
+ cp -f /tmp/jets3t-#{jets3t_version}.jar jars/
242
+ EOS
243
+ elsif spark_redshift_version.split('-', 2).last == '6.2.0-spark_3.4'
244
+ <<-EOS
245
+ ls -d $(find jars) | grep 'aws-secretsmanager-jdbc-[0-9.]*.jar' | xargs rm -f
246
+ cp -f /tmp/aws-secretsmanager-jdbc-#{aws_secretsmanager_jdbc_version}.jar jars/
247
+ EOS
248
+ elsif spark_redshift_version.split('-', 2).last == '6.4.3-spark_3.5'
249
+ <<-EOS
250
+ ls -d $(find jars) | grep 'aws-secretsmanager-caching-java-[0-9.]*.jar' | xargs rm -f
251
+ cp -f /tmp/aws-secretsmanager-caching-java-#{aws_secretsmanager_caching_java_version}.jar jars/
252
+
253
+ ls -d $(find jars) | grep 'aws-secretsmanager-jdbc-[0-9.]*.jar' | xargs rm -f
254
+ cp -f /tmp/aws-secretsmanager-jdbc-#{aws_secretsmanager_jdbc_version}.jar jars/
255
+ EOS
256
+ end}
117
257
  EOF
118
258
  end
119
259
 
@@ -0,0 +1 @@
1
+ 8daa3f7fb0af2670fe11beb8a2ac79d908a534d7298353ec4746025b102d5e31 spark-3.5.5-bin-hadoop3.tgz
@@ -0,0 +1,4 @@
1
+ 97d829e5e47e0b0306bc54549fbfc67516bea15d249581eeb1152f155fdbee49 spark-redshift_2.12-6.2.0-spark_3.4.jar
2
+ ed252b44d546a3df7778debf563eeb535ae07d74c3c18d4163fcbad88cd6ffbf spark-avro_2.12-3.4.2.jar
3
+ dd12dc400549fb055b64b186b7bb05f3e31d417f398fca6755a02394d0302bae RedshiftJDBC42-2.1.0.24.jar
4
+ b90f9d51b6f34918cfdcbb100a486937fbc94eadd60862f2d2574716babe80bd aws-secretsmanager-jdbc-1.0.12.jar
@@ -0,0 +1,5 @@
1
+ 43d428ca25610fd3e7800c6d2270d1f27eacb6af1936c5e0641ad5d82abc65b9 spark-redshift_2.12-6.4.3-spark_3.5.jar
2
+ 16815c7ae6e68eb8f097c3987737689a20fb9cd8718f1c6cce72b76008a94d06 spark-avro_2.12-3.5.5.jar
3
+ b30825a09c05293a79c8839bfef172901a9dcb7a46ec19559409d0e6eb7b5299 RedshiftJDBC42-2.1.0.29.jar
4
+ efa849f894b83fbef1f2c27c72b8e4a581051f106338f94bd027810fc646ae85 aws-secretsmanager-caching-java-1.0.2.jar
5
+ b90f9d51b6f34918cfdcbb100a486937fbc94eadd60862f2d2574716babe80bd aws-secretsmanager-jdbc-1.0.12.jar
@@ -2,20 +2,25 @@ module Itamae
2
2
  module Plugin
3
3
  module Recipe
4
4
  module Spark
5
- VERSION = "0.1.9"
5
+ VERSION = "0.1.12"
6
6
 
7
7
  SPARK_VERSION = [
8
8
  SPARK_VERSION_MAJOR = '3',
9
- SPARK_VERSION_MINOR = '4',
10
- SPARK_VERSION_REVISION = '1'
9
+ SPARK_VERSION_MINOR = '5',
10
+ SPARK_VERSION_REVISION = '5'
11
11
  ].join('.')
12
12
 
13
- SPARK_REDSHIFT_VERSION = '2.12-5.0.3'
14
- SPARK_AVRO_VERSION = '2.12-3.0.1'
13
+ SPARK_REDSHIFT_VERSION = '2.12-6.4.3-spark_3.5'
14
+ SPARK_AVRO_VERSION = '2.12-3.5.5'
15
15
  MINIMAL_JSON_VERSION = '0.9.4'
16
- REDSHIFT_JDBC_VERSION = '2.1.0.17'
16
+ REDSHIFT_JDBC_VERSION = '2.1.0.29'
17
17
  FASTDOUBLEPARSER_VERSION = '0.8.0'
18
18
  JETS3T_VERSION = '0.9.4'
19
+ AWS_SECRETSMANAGER_CACHING_JAVA_VERSION = '1.0.2'
20
+ AWS_SECRETSMANAGER_JDBC_VERSION = '1.0.12'
21
+
22
+ AWS_SDK_V2_VERSION = '2.31.78'
23
+ REACTIVE_STREAMS_VERSION = '1.0.4'
19
24
  end
20
25
  end
21
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itamae-plugin-recipe-spark
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - ichylinux
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-04-16 00:00:00.000000000 Z
11
+ date: 2025-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: itamae
@@ -107,7 +107,10 @@ files:
107
107
  - lib/itamae/plugin/recipe/spark/spark-3.1.2_hadoop_3.2_sha256.txt
108
108
  - lib/itamae/plugin/recipe/spark/spark-3.3.2_hadoop_3_sha256.txt
109
109
  - lib/itamae/plugin/recipe/spark/spark-3.4.1_hadoop_3_sha256.txt
110
+ - lib/itamae/plugin/recipe/spark/spark-3.5.5_hadoop_3_sha256.txt
110
111
  - lib/itamae/plugin/recipe/spark/spark-redshift_2.12-5.0.3_sha256.txt
112
+ - lib/itamae/plugin/recipe/spark/spark-redshift_2.12-6.2.0-spark_3.4_sha256.txt
113
+ - lib/itamae/plugin/recipe/spark/spark-redshift_2.12-6.4.3-spark_3.5_sha256.txt
111
114
  - lib/itamae/plugin/recipe/spark/templates/hdfs-site.xml.erb
112
115
  - lib/itamae/plugin/recipe/spark/templates/spark-defaults.conf.erb
113
116
  - lib/itamae/plugin/recipe/spark/version.rb