rspec-hive 0.4.2 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +39 -5
  4. data/.rubocop_todo.yml +40 -0
  5. data/.ruby-version +1 -1
  6. data/.travis.yml +4 -3
  7. data/Gemfile +18 -0
  8. data/Guardfile +10 -6
  9. data/README.md +15 -0
  10. data/Rakefile +4 -2
  11. data/docker/Dockerfile +38 -47
  12. data/docker/hive-site.xml +28 -0
  13. data/examples/lib/query.rb +2 -0
  14. data/examples/rspec-hive.yml.example +7 -1
  15. data/examples/spec/query_spec.rb +2 -0
  16. data/examples/spec/spec_helper.rb +2 -0
  17. data/lib/rspec/hive.rb +2 -0
  18. data/lib/rspec/hive/configuration.rb +14 -33
  19. data/lib/rspec/hive/connection_delegator.rb +19 -13
  20. data/lib/rspec/hive/connector.rb +3 -2
  21. data/lib/rspec/hive/db_name.rb +2 -0
  22. data/lib/rspec/hive/exponential_backoff.rb +2 -0
  23. data/lib/rspec/hive/matchers.rb +2 -0
  24. data/lib/rspec/hive/query_builder.rb +2 -0
  25. data/lib/rspec/hive/query_builder/null_strategy.rb +2 -0
  26. data/lib/rspec/hive/query_builder/row_transformer.rb +4 -2
  27. data/lib/rspec/hive/query_builder/type_faker.rb +2 -0
  28. data/lib/rspec/hive/query_builder/value_by_type_strategy.rb +2 -0
  29. data/lib/rspec/hive/query_builder_helper.rb +2 -0
  30. data/lib/rspec/hive/railtie.rb +2 -0
  31. data/lib/rspec/hive/rake_tasks/docker.rake +27 -14
  32. data/lib/rspec/hive/version.rb +3 -1
  33. data/lib/rspec/hive/with_hive_connection.rb +2 -0
  34. data/rspec-hive.gemspec +7 -16
  35. data/spec/lib/rspec/hive/configuration_spec.rb +29 -33
  36. data/spec/lib/rspec/hive/connection_delegator_spec.rb +58 -138
  37. data/spec/lib/rspec/hive/connector_spec.rb +33 -38
  38. data/spec/lib/rspec/hive/db_name_spec.rb +4 -2
  39. data/spec/lib/rspec/hive/matchers_spec.rb +2 -0
  40. data/spec/lib/rspec/hive/query_builder/row_transformer_spec.rb +6 -4
  41. data/spec/lib/rspec/hive/query_builder_helper_spec.rb +8 -6
  42. data/spec/lib/rspec/hive/query_builder_spec.rb +15 -17
  43. data/spec/lib/rspec/hive_spec.rb +15 -22
  44. metadata +13 -154
  45. data/.rubocop_u2i.yml +0 -63
  46. data/spec/.rubocop.yml +0 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3a4997a9ef4cee20af56cb4d4178f0418d0c17fd
4
- data.tar.gz: 2032bb8993693f75ddeb69cdb9c6d84e114cc32a
3
+ metadata.gz: 9242dae1f3ad9750670856055d1b4674e69225d8
4
+ data.tar.gz: a04e81680d2a346cded0bf3f827695037531b010
5
5
  SHA512:
6
- metadata.gz: da255d96802490d15ef57fdc6745850d0daf80499bfc9a250c16f24f745c0090c8cdc0d3f17ac593e7b406e109d8715aa55244c4421da16d028ad2bd4c26c543
7
- data.tar.gz: 6528c7ce3af5771b2ca17d84bf560608245bb0d7fbc5087a430bd66d474809fa85b0808749a3b3d06dd5247f77ae5423fb3c9c9c81fff2007637a6847a78597c
6
+ metadata.gz: bcec72034eb383894133d8fb5dc147e57ea6a3e799982ac4cae9ad55f84dae0b31bcf16f0ed48c5e6194f31a9d72273e9147b0028a84155cb77758386389559e
7
+ data.tar.gz: 463964b574467f5e8e33c8eaf6c35318a89e411c8879868a61259e7e7bcbcf9e4efce2cdd0d53a5071d367450b59deed2105907b9d26d6d4297e3c54b35e0483
data/.gitignore CHANGED
@@ -15,3 +15,4 @@
15
15
  *.o
16
16
  *.a
17
17
  mkmf.log
18
+ /config/*
@@ -1,10 +1,12 @@
1
- inherit_from: .rubocop_u2i.yml
1
+ require: rubocop-rspec
2
+
3
+ inherit_from: .rubocop_todo.yml
2
4
 
3
5
  Rails:
4
6
  Enabled: false
5
7
 
6
8
  AllCops:
7
- TargetRubyVersion: 2.1
9
+ TargetRubyVersion: 2.3
8
10
  Include:
9
11
  - '**/Rakefile'
10
12
  Exclude:
@@ -15,9 +17,41 @@ AllCops:
15
17
  Metrics/LineLength:
16
18
  Max: 120
17
19
  Enabled: true
18
- Exclude:
19
- - spec/**/*
20
- - examples/spec/**/*
21
20
 
22
21
  Style/SignalException:
23
22
  EnforcedStyle: only_raise
23
+
24
+ Naming/FileName:
25
+ Exclude:
26
+ - Gemfile
27
+ - Guardfile
28
+ - rspec-hive.gemspec
29
+
30
+ Metrics/BlockLength:
31
+ ExcludedMethods: ['describe', 'context']
32
+
33
+ Layout/MultilineOperationIndentation:
34
+ EnforcedStyle: indented
35
+
36
+ Style/Documentation:
37
+ Enabled: false
38
+
39
+ Layout/SpaceInsideHashLiteralBraces:
40
+ EnforcedStyle: no_space
41
+ EnforcedStyleForEmptyBraces: no_space
42
+
43
+ Layout/DotPosition:
44
+ EnforcedStyle: trailing
45
+ Enabled: true
46
+
47
+ Metrics/MethodLength:
48
+ CountComments: false # count full line comments?
49
+ Max: 30
50
+
51
+ RSpec/DescribeClass:
52
+ Exclude:
53
+ - spec/lib/rspec/hive/matchers_spec.rb
54
+
55
+ Style/Encoding:
56
+ Exclude:
57
+ - 'rspec-hive.gemspec'
@@ -0,0 +1,40 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2017-10-18 17:06:59 +0200 using RuboCop version 0.50.0.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 6
10
+ # Configuration parameters: CountComments, ExcludedMethods.
11
+ Metrics/BlockLength:
12
+ Max: 106
13
+
14
+ # Offense count: 44
15
+ RSpec/ExpectInHook:
16
+ Exclude:
17
+ - 'spec/lib/rspec/hive/connection_delegator_spec.rb'
18
+ - 'spec/lib/rspec/hive/connector_spec.rb'
19
+ - 'spec/lib/rspec/hive/query_builder_spec.rb'
20
+
21
+ # Offense count: 46
22
+ # Configuration parameters: SupportedStyles.
23
+ # SupportedStyles: have_received, receive
24
+ RSpec/MessageSpies:
25
+ EnforcedStyle: receive
26
+
27
+ # Offense count: 36
28
+ # Configuration parameters: Max.
29
+ RSpec/NestedGroups:
30
+ Exclude:
31
+ - 'spec/lib/rspec/hive/matchers_spec.rb'
32
+ - 'spec/lib/rspec/hive/query_builder_spec.rb'
33
+
34
+ # Offense count: 11
35
+ # Configuration parameters: IgnoreSymbolicNames.
36
+ RSpec/VerifiedDoubles:
37
+ Exclude:
38
+ - 'spec/lib/rspec/hive/connection_delegator_spec.rb'
39
+ - 'spec/lib/rspec/hive/connector_spec.rb'
40
+ - 'spec/lib/rspec/hive/query_builder_helper_spec.rb'
@@ -1 +1 @@
1
- ruby-2.1.5
1
+ ruby-2.3.3
@@ -4,9 +4,8 @@ services:
4
4
  - docker
5
5
  language: ruby
6
6
  rvm:
7
- - 2.1
8
- - 2.2
9
- - 2.3.0
7
+ - 2.3.3
8
+ - 2.4.1
10
9
  env: CONFIG_FILE_NAME=rspec-hive.yml PORT=10000 CONFIG_FILE=rspec-hive.yml
11
10
 
12
11
  before_script:
@@ -17,3 +16,5 @@ script:
17
16
  - bundle exec rake spec
18
17
  - bundle exec rake rubocop
19
18
  - bundle exec rake hive_spec
19
+
20
+ bundler_args: --without development
data/Gemfile CHANGED
@@ -1,3 +1,21 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  gemspec
6
+
7
+ group :test do
8
+ gem 'bundler', '~> 1.15'
9
+ gem 'codeclimate-test-reporter', '~> 0.4'
10
+ gem 'rspec-its', '~> 1.2'
11
+ gem 'rubocop', '~> 0.50'
12
+ gem 'rubocop-rspec', '~> 1.18'
13
+ end
14
+
15
+ group :development do
16
+ gem 'guard'
17
+ gem 'guard-rspec'
18
+ gem 'guard-rubocop'
19
+ gem 'pry'
20
+ gem 'pry-byebug'
21
+ end
data/Guardfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # A sample Guardfile
2
4
  # More info at https://github.com/guard/guard#readme
3
5
 
@@ -13,14 +15,16 @@ group :red_green_refactor, halt_on_fail: true do
13
15
  watch('spec/spec_helper.rb') { 'spec' }
14
16
  end
15
17
 
16
- guard :rspec, cmd: 'bundle exec rspec', spec_paths: ['examples/spec'] do
17
- watch(%r{^examples/spec/.+_spec\.rb$})
18
- watch(%r{^examples/lib/(.+)\.rb$}) { |m| "examples/spec/#{m[1]}_spec.rb" }
19
- watch('examples/spec/spec_helper.rb') { 'examples/spec' }
20
- end if system(detect_docker)
18
+ if system(detect_docker)
19
+ guard :rspec, cmd: 'bundle exec rspec', spec_paths: ['examples/spec'] do
20
+ watch(%r{^examples/spec/.+_spec\.rb$})
21
+ watch(%r{^examples/lib/(.+)\.rb$}) { |m| "examples/spec/#{m[1]}_spec.rb" }
22
+ watch('examples/spec/spec_helper.rb') { 'examples/spec' }
23
+ end
24
+ end
21
25
 
22
26
  guard :rubocop, all_on_start: false do
23
- watch(%r{.+\.rb$})
27
+ watch(/.+\.rb$/)
24
28
  watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
25
29
  end
26
30
  end
data/README.md CHANGED
@@ -47,6 +47,8 @@ You can specify following arguments:
47
47
  * CONFIG_FILE_DIR - directory where to put generated config file
48
48
  * CONFIG_FILE_NAME - name of the config file that will be generated
49
49
 
50
+ Watch out: in some cases Rspec hive may look for config files in e.g. you're current/root directory, not in config/ folder. Make sure you've got correct config in the directory used by the gem.
51
+
50
52
  #### Installing Docker
51
53
  Detailed instruction may be found on https://docs.docker.com/engine/installation.
52
54
 
@@ -112,10 +114,23 @@ Where we invoke:
112
114
 
113
115
  RSpec::Hive.configure(File.join(__dir__, '/config.yml'))
114
116
 
117
+ ### Loading udfs
118
+
119
+ `bundle exec rake "spec:hive:docker:load_udfs[path_to_udf_on_s3]"`
120
+
121
+ By default udfs will be loaded to `docker_shared_directory_path`.
122
+
123
+
115
124
  ## Note
116
125
 
117
126
  Please remember docker does not remove containers automatically, use `docker ps -a` to list all unused containers.
118
127
 
128
+ ## Changelog
129
+
130
+ 0.5.0:
131
+ > Updated dockerfile to build container with hive 2.1.1 on Hadoop 2.7.3.
132
+ > Moved hive config to config file, default hive config is no longer provided, except for default config file generated using rake task.
133
+
119
134
  ## Contributing
120
135
 
121
136
  1. Fork it ( https://github.com/[my-github-username]/rspec-hive/fork )
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  load 'lib/rspec/hive/rake_tasks/docker.rake'
3
5
 
@@ -26,7 +28,7 @@ detect_docker = <<-BASH
26
28
  BASH
27
29
 
28
30
  if system(detect_docker)
29
- task default: [:spec, :hive_spec, :rubocop]
31
+ task default: %i[spec hive_spec rubocop]
30
32
  else
31
- task default: [:spec, :rubocop]
33
+ task default: %i[spec rubocop]
32
34
  end
@@ -1,47 +1,38 @@
1
- FROM ubuntu:latest
2
- RUN apt-get update \
3
- && apt-get install -y wget \
4
- && rm -rf /var/lib/apt/lists/*
5
-
6
- RUN echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
7
-
8
- RUN apt-get update
9
- RUN apt-get install -y software-properties-common
10
- RUN add-apt-repository ppa:webupd8team/java
11
-
12
- RUN apt-get update
13
- RUN apt-get install -y oracle-java8-installer
14
- RUN apt-get install -y oracle-java8-set-default
15
-
16
- ENV SHARED_FOLDER /tmp/spec-tmp-files/
17
- ENV TMP_ROOT /tmp/root/
18
- ENV WAREHOUSE /tmp/warehouse/
19
-
20
- ENV HADOOP_BIN $HOME/hadoop-bin/hadoop-1.2.1/
21
- ENV HIVE_BIN $HOME/hive-bin/hive-0.11/
22
-
23
- ENV HADOOP_HOME $HOME/hadoop/
24
- ENV HIVE_HOME $HOME/hive/
25
-
26
- ENV JAVA_HOME /usr/
27
-
28
- RUN mkdir -p $HADOOP_BIN \
29
- && mkdir -p $HIVE_BIN \
30
- && mkdir -p $HADOOP_HOME \
31
- && mkdir -p $HIVE_HOME \
32
- && mkdir -p $SHARED_FOLDER \
33
- && mkdir -p $TMP_ROOT \
34
- && mkdir -p $WAREHOUSE
35
-
36
- RUN wget https://www.apache.org/dist/hadoop/core/hadoop-1.2.1/hadoop-1.2.1-bin.tar.gz -O $HADOOP_BIN/hadoop.tar.gz
37
- RUN wget https://archive.apache.org/dist/hive/hive-0.11.0/hive-0.11.0-bin.tar.gz -O $HIVE_BIN/hive.tar.gz
38
-
39
- RUN tar -xzf $HADOOP_BIN/hadoop.tar.gz --strip-components=1 -C $HADOOP_HOME
40
- RUN tar -xzf $HIVE_BIN/hive.tar.gz --strip-components=1 -C $HIVE_HOME
41
-
42
- CMD $HIVE_HOME/bin/hive \
43
- --service hiveserver2 \
44
- --hiveconf hive.server2.enable.doAs=false \
45
- --hiveconf hive.server2.thrift.port=10000 \
46
- --hiveconf hive.root.logger=INFO,console \
47
- --hiveconf hive.metastore.warehouse.dir=$WAREHOUSE
1
+ FROM ubuntu:16.04
2
+
3
+ ENV DEBIAN_FRONTEND noninteractive
4
+
5
+ RUN apt-get -qq update && \
6
+ apt-get -qq install -y wget software-properties-common && \
7
+ add-apt-repository ppa:webupd8team/java && \
8
+ apt-get -qq update && \
9
+ (echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections) && \
10
+ apt-get -qq install -y oracle-java8-installer oracle-java8-set-default
11
+
12
+ ENV INSTALL_DIR=/opt
13
+ SHARED_FOLDER=/tmp/spec-tmp-files \
14
+ TMP_HOME=/tmp/home \
15
+ WAREHOUSE=/tmp/warehouse \
16
+ HADOOP_HOME=$INSTALL_DIR/hadoop \
17
+ HIVE_HOME=$INSTALL_DIR/hive \
18
+ JAVA_HOME=/usr
19
+
20
+ RUN mkdir -p $HADOOP_HOME $HIVE_HOME $SHARED_FOLDER $TMP_HOME $WAREHOUSE
21
+
22
+ RUN wget http://www-eu.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz --quiet -O /tmp/hadoop.tar.gz && \
23
+ wget http://www-eu.apache.org/dist/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz --quiet -O /tmp/hive.tar.gz && \
24
+ tar -xzf /tmp/hadoop.tar.gz --strip-components=1 -C $HADOOP_HOME && \
25
+ tar -xzf /tmp/hive.tar.gz --strip-components=1 -C $HIVE_HOME
26
+
27
+ RUN rm -rf $HIVE_HOME/metastore_db/
28
+ RUN $HIVE_HOME/bin/schematool -initSchema -dbType derby
29
+
30
+ ADD ./hive-site.xml $HIVE_HOME/conf/hive-site.xml
31
+
32
+ WORKDIR $TMP_HOME
33
+ ENTRYPOINT $HIVE_HOME/bin/hive \
34
+ --service hiveserver2 \
35
+ --hiveconf hive.server2.enable.doAs=false \
36
+ --hiveconf hive.server2.thrift.port=10000 \
37
+ --hiveconf hive.root.logger=INFO,console \
38
+ --hiveconf hive.metastore.warehouse.dir=$WAREHOUSE
@@ -0,0 +1,28 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!--
3
+ Licensed to the Apache Software Foundation (ASF) under one or more
4
+ contributor license agreements. See the NOTICE file distributed with
5
+ this work for additional information regarding copyright ownership.
6
+ The ASF licenses this file to You under the Apache License, Version 2.0
7
+ (the "License"); you may not use this file except in compliance with
8
+ the License. You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ -->
18
+ <configuration>
19
+ <property>
20
+ <name>hive.resultset.use.unique.column.names</name>
21
+ <value>false</value>
22
+ <description>
23
+ Make column names unique in the result set by qualifying column names with table alias if needed.
24
+ Table alias will be added to column names for queries of type "select *" or
25
+ if query explicitly uses table alias "select r1.x..".
26
+ </description>
27
+ </property>
28
+ </configuration>
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rbhive'
2
4
 
3
5
  class Query
@@ -3,4 +3,10 @@ hive:
3
3
  port: 10000
4
4
  host_shared_directory_path: /Users/Shared/tmp/spec-tmp-files
5
5
  docker_shared_directory_path: /tmp/spec-tmp-files
6
- hive_version: 10
6
+ hive_version: 10
7
+ hive_options:
8
+ 'hive.exec.dynamic.partition': 'true'
9
+ 'hive.exec.dynamic.partition.mode': 'nonstrict'
10
+ 'hive.exec.max.dynamic.partitions.pernode': '100000'
11
+ 'hive.exec.max.dynamic.partitions': '100000'
12
+ 'mapred.child.java.opts': '-Xmx2048m'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'spec_helper'
2
4
  require_relative '../lib/query'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  if ENV['COVERAGE']
2
4
  require 'simplecov'
3
5
  SimpleCov.start
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rspec/hive/version'
2
4
  require 'rspec/hive/db_name'
3
5
  require 'rspec/hive/configuration'
@@ -1,8 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'tmpdir'
2
4
 
3
5
  module RSpec
4
6
  module Hive
5
7
  class Configuration
8
+ DEFAULT_VERSION = 10
9
+ DEFAULT_TIMEOUT = 120
10
+
6
11
  attr_accessor :host,
7
12
  :port,
8
13
  :host_shared_directory_path,
@@ -17,7 +22,7 @@ module RSpec
17
22
  load_default_variables
18
23
  else
19
24
  interpolated = ERB.new(File.read(path_to_config_file)).result
20
- config = YAML.load(interpolated)['hive']
25
+ config = YAML.safe_load(interpolated)['hive']
21
26
  load_variables_from_config(config)
22
27
  end
23
28
  @logger = Logger.new(STDOUT)
@@ -26,13 +31,13 @@ module RSpec
26
31
  private
27
32
 
28
33
  def load_default_variables
29
- @host = platform_specific_host
30
- @port = 10000
34
+ @host = '127.0.0.1'
35
+ @port = 10_000
31
36
  @host_shared_directory_path = platform_specific_host_shared_dir_path
32
37
  @docker_shared_directory_path = '/tmp/spec-tmp-files'
33
- @hive_version = default_version
34
- @connection_timeout = default_timeout
35
- @hive_options = default_hive_options
38
+ @hive_version = DEFAULT_VERSION
39
+ @connection_timeout = DEFAULT_TIMEOUT
40
+ @hive_options = {}
36
41
  end
37
42
 
38
43
  def load_variables_from_config(config)
@@ -40,13 +45,9 @@ module RSpec
40
45
  @port = config['port']
41
46
  @host_shared_directory_path = config['host_shared_directory_path']
42
47
  @docker_shared_directory_path = config['docker_shared_directory_path']
43
- @hive_version = (config['hive_version'] || default_version).to_i
44
- @connection_timeout = (config['timeout'] || default_timeout).to_i
45
- @hive_options = merge_config_options(default_hive_options, config)
46
- end
47
-
48
- def merge_config_options(hash, config)
49
- hash.merge(config['hive_options'].to_h)
48
+ @hive_version = (config['hive_version'] || DEFAULT_VERSION).to_i
49
+ @connection_timeout = (config['timeout'] || DEFAULT_TIMEOUT).to_i
50
+ @hive_options = config['hive_options'].to_h
50
51
  end
51
52
 
52
53
  def mac?
@@ -54,10 +55,6 @@ module RSpec
54
55
  host_os =~ /darwin|mac os/
55
56
  end
56
57
 
57
- def platform_specific_host
58
- mac? ? '192.168.99.100' : '127.0.0.1'
59
- end
60
-
61
58
  def platform_specific_host_shared_dir_path
62
59
  if mac?
63
60
  File.join(Dir.mktmpdir(nil, '/Users/Shared'), 'spec-tmp-files')
@@ -65,22 +62,6 @@ module RSpec
65
62
  File.join(Dir.mktmpdir, 'spec-tmp-files')
66
63
  end
67
64
  end
68
-
69
- def default_timeout
70
- 1800
71
- end
72
-
73
- def default_version
74
- 10
75
- end
76
-
77
- def default_hive_options
78
- {'hive.exec.dynamic.partition' => 'true',
79
- 'hive.exec.dynamic.partition.mode' => 'nonstrict',
80
- 'hive.exec.max.dynamic.partitions.pernodexi' => '100000',
81
- 'hive.exec.max.dynamic.partitions' => '100000',
82
- 'mapred.child.java.opts' => '-Xmx2048m'}
83
- end
84
65
  end
85
66
  end
86
67
  end