From 05a9f176c6c3bad00cd57636073c94f4e1563a54 Mon Sep 17 00:00:00 2001 From: Yee Hing Tong Date: Fri, 30 Aug 2019 10:46:18 -0700 Subject: [PATCH] Making Hive jobs single queries (#3) This PR deprecates the QueryCollection field in the QuboleHiveJob custom plugin object. Please see the SDK PR for more information: https://github.com/lyft/flytekit/pull/1 --- .../gen/pb-cpp/flyteidl/plugins/qubole.pb.cc | 77 ++++- .../gen/pb-cpp/flyteidl/plugins/qubole.pb.h | 78 ++++- .../gen/pb-go/flyteidl/plugins/qubole.pb.go | 66 +++-- .../flyteidl/plugins/qubole.pb.validate.go | 10 + .../gen/pb-java/flyteidl/plugins/Qubole.java | 266 +++++++++++++++--- .../flyteidl/plugins/qubole.proto.rst | 8 +- .../pb_python/flyteidl/plugins/qubole_pb2.py | 18 +- flyteidl/protos/flyteidl/plugins/qubole.proto | 3 +- flyteidl/setup.py | 2 +- 9 files changed, 438 insertions(+), 90 deletions(-) diff --git a/flyteidl/gen/pb-cpp/flyteidl/plugins/qubole.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/plugins/qubole.pb.cc index ee794aff61..7a4f5330f0 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/plugins/qubole.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/plugins/qubole.pb.cc @@ -91,6 +91,7 @@ void InitDefaultsQuboleHiveJobImpl() { ::google::protobuf::internal::InitProtobufDefaults(); #endif // GOOGLE_PROTOBUF_ENFORCE_UNIQUENESS protobuf_flyteidl_2fplugins_2fqubole_2eproto::InitDefaultsHiveQueryCollection(); + protobuf_flyteidl_2fplugins_2fqubole_2eproto::InitDefaultsHiveQuery(); { void* ptr = &::flyteidl::plugins::_QuboleHiveJob_default_instance_; new (ptr) ::flyteidl::plugins::QuboleHiveJob(); @@ -129,6 +130,7 @@ const ::google::protobuf::uint32 TableStruct::offsets[] GOOGLE_PROTOBUF_ATTRIBUT GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::flyteidl::plugins::QuboleHiveJob, cluster_label_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::flyteidl::plugins::QuboleHiveJob, query_collection_), GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::flyteidl::plugins::QuboleHiveJob, tags_), + GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(::flyteidl::plugins::QuboleHiveJob, query_), }; static const ::google::protobuf::internal::MigrationSchema schemas[] GOOGLE_PROTOBUF_ATTRIBUTE_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::plugins::HiveQuery)}, @@ -169,14 +171,16 @@ void AddDescriptorsImpl() { "HiveQuery\022\r\n\005query\030\001 \001(\t\022\023\n\013timeout_sec\030" "\002 \001(\r\022\022\n\nretryCount\030\003 \001(\r\"C\n\023HiveQueryCo" "llection\022,\n\007queries\030\002 \003(\0132\033.flyteidl.plu" - "gins.HiveQuery\"u\n\rQuboleHiveJob\022\025\n\rclust" - "er_label\030\001 \001(\t\022\?\n\020query_collection\030\002 \001(\013" - "2%.flyteidl.plugins.HiveQueryCollection\022" - "\014\n\004tags\030\003 \003(\tB5Z3github.com/lyft/flyteid" - "l/gen/pb-go/flyteidl/pluginsb\006proto3" + "gins.HiveQuery\"\245\001\n\rQuboleHiveJob\022\025\n\rclus" + "ter_label\030\001 \001(\t\022C\n\020query_collection\030\002 \001(" + "\0132%.flyteidl.plugins.HiveQueryCollection" + "B\002\030\001\022\014\n\004tags\030\003 \003(\t\022*\n\005query\030\004 \001(\0132\033.flyt" + "eidl.plugins.HiveQueryB5Z3github.com/lyf" + "t/flyteidl/gen/pb-go/flyteidl/pluginsb\006p" + "roto3" }; ::google::protobuf::DescriptorPool::InternalAddGeneratedFile( - descriptor, 396); + descriptor, 445); ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile( "flyteidl/plugins/qubole.proto", &protobuf_RegisterTypes); ::protobuf_flyteidl_2fcore_2ftasks_2eproto::AddDescriptors(); @@ -779,11 +783,14 @@ ::google::protobuf::Metadata HiveQueryCollection::GetMetadata() const { void QuboleHiveJob::InitAsDefaultInstance() { ::flyteidl::plugins::_QuboleHiveJob_default_instance_._instance.get_mutable()->query_collection_ = const_cast< ::flyteidl::plugins::HiveQueryCollection*>( ::flyteidl::plugins::HiveQueryCollection::internal_default_instance()); + ::flyteidl::plugins::_QuboleHiveJob_default_instance_._instance.get_mutable()->query_ = const_cast< ::flyteidl::plugins::HiveQuery*>( + ::flyteidl::plugins::HiveQuery::internal_default_instance()); } #if !defined(_MSC_VER) || _MSC_VER >= 1900 const int QuboleHiveJob::kClusterLabelFieldNumber; const int QuboleHiveJob::kQueryCollectionFieldNumber; const int QuboleHiveJob::kTagsFieldNumber; +const int QuboleHiveJob::kQueryFieldNumber; #endif // !defined(_MSC_VER) || _MSC_VER >= 1900 QuboleHiveJob::QuboleHiveJob() @@ -809,12 +816,19 @@ QuboleHiveJob::QuboleHiveJob(const QuboleHiveJob& from) } else { query_collection_ = NULL; } + if (from.has_query()) { + query_ = new ::flyteidl::plugins::HiveQuery(*from.query_); + } else { + query_ = NULL; + } // @@protoc_insertion_point(copy_constructor:flyteidl.plugins.QuboleHiveJob) } void QuboleHiveJob::SharedCtor() { cluster_label_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); - query_collection_ = NULL; + ::memset(&query_collection_, 0, static_cast( + reinterpret_cast(&query_) - + reinterpret_cast(&query_collection_)) + sizeof(query_)); _cached_size_ = 0; } @@ -826,6 +840,7 @@ QuboleHiveJob::~QuboleHiveJob() { void QuboleHiveJob::SharedDtor() { cluster_label_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); if (this != internal_default_instance()) delete query_collection_; + if (this != internal_default_instance()) delete query_; } void QuboleHiveJob::SetCachedSize(int size) const { @@ -863,6 +878,10 @@ void QuboleHiveJob::Clear() { delete query_collection_; } query_collection_ = NULL; + if (GetArenaNoVirtual() == NULL && query_ != NULL) { + delete query_; + } + query_ = NULL; _internal_metadata_.Clear(); } @@ -892,7 +911,7 @@ bool QuboleHiveJob::MergePartialFromCodedStream( break; } - // .flyteidl.plugins.HiveQueryCollection query_collection = 2; + // .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; case 2: { if (static_cast< ::google::protobuf::uint8>(tag) == static_cast< ::google::protobuf::uint8>(18u /* 18 & 0xFF */)) { @@ -921,6 +940,18 @@ bool QuboleHiveJob::MergePartialFromCodedStream( break; } + // .flyteidl.plugins.HiveQuery query = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == + static_cast< ::google::protobuf::uint8>(34u /* 34 & 0xFF */)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_query())); + } else { + goto handle_unusual; + } + break; + } + default: { handle_unusual: if (tag == 0) { @@ -957,7 +988,7 @@ void QuboleHiveJob::SerializeWithCachedSizes( 1, this->cluster_label(), output); } - // .flyteidl.plugins.HiveQueryCollection query_collection = 2; + // .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; if (this->has_query_collection()) { ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( 2, *this->query_collection_, output); @@ -973,6 +1004,12 @@ void QuboleHiveJob::SerializeWithCachedSizes( 3, this->tags(i), output); } + // .flyteidl.plugins.HiveQuery query = 4; + if (this->has_query()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 4, *this->query_, output); + } + if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { ::google::protobuf::internal::WireFormat::SerializeUnknownFields( (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), output); @@ -998,7 +1035,7 @@ ::google::protobuf::uint8* QuboleHiveJob::InternalSerializeWithCachedSizesToArra 1, this->cluster_label(), target); } - // .flyteidl.plugins.HiveQueryCollection query_collection = 2; + // .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; if (this->has_query_collection()) { target = ::google::protobuf::internal::WireFormatLite:: InternalWriteMessageToArray( @@ -1015,6 +1052,13 @@ ::google::protobuf::uint8* QuboleHiveJob::InternalSerializeWithCachedSizesToArra WriteStringToArray(3, this->tags(i), target); } + // .flyteidl.plugins.HiveQuery query = 4; + if (this->has_query()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 4, *this->query_, deterministic, target); + } + if ((_internal_metadata_.have_unknown_fields() && ::google::protobuf::internal::GetProto3PreserveUnknownsDefault())) { target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( (::google::protobuf::internal::GetProto3PreserveUnknownsDefault() ? _internal_metadata_.unknown_fields() : _internal_metadata_.default_instance()), target); @@ -1047,13 +1091,20 @@ size_t QuboleHiveJob::ByteSizeLong() const { this->cluster_label()); } - // .flyteidl.plugins.HiveQueryCollection query_collection = 2; + // .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; if (this->has_query_collection()) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize( *this->query_collection_); } + // .flyteidl.plugins.HiveQuery query = 4; + if (this->has_query()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *this->query_); + } + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN(); _cached_size_ = cached_size; @@ -1091,6 +1142,9 @@ void QuboleHiveJob::MergeFrom(const QuboleHiveJob& from) { if (from.has_query_collection()) { mutable_query_collection()->::flyteidl::plugins::HiveQueryCollection::MergeFrom(from.query_collection()); } + if (from.has_query()) { + mutable_query()->::flyteidl::plugins::HiveQuery::MergeFrom(from.query()); + } } void QuboleHiveJob::CopyFrom(const ::google::protobuf::Message& from) { @@ -1120,6 +1174,7 @@ void QuboleHiveJob::InternalSwap(QuboleHiveJob* other) { tags_.InternalSwap(&other->tags_); cluster_label_.Swap(&other->cluster_label_); swap(query_collection_, other->query_collection_); + swap(query_, other->query_); _internal_metadata_.Swap(&other->_internal_metadata_); swap(_cached_size_, other->_cached_size_); } diff --git a/flyteidl/gen/pb-cpp/flyteidl/plugins/qubole.pb.h b/flyteidl/gen/pb-cpp/flyteidl/plugins/qubole.pb.h index 4f1c11ac8c..7219bf0e76 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/plugins/qubole.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/plugins/qubole.pb.h @@ -417,14 +417,23 @@ class QuboleHiveJob : public ::google::protobuf::Message /* @@protoc_insertion_p ::std::string* release_cluster_label(); void set_allocated_cluster_label(::std::string* cluster_label); - // .flyteidl.plugins.HiveQueryCollection query_collection = 2; - bool has_query_collection() const; - void clear_query_collection(); - static const int kQueryCollectionFieldNumber = 2; - const ::flyteidl::plugins::HiveQueryCollection& query_collection() const; - ::flyteidl::plugins::HiveQueryCollection* release_query_collection(); - ::flyteidl::plugins::HiveQueryCollection* mutable_query_collection(); - void set_allocated_query_collection(::flyteidl::plugins::HiveQueryCollection* query_collection); + // .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; + GOOGLE_PROTOBUF_DEPRECATED_ATTR bool has_query_collection() const; + GOOGLE_PROTOBUF_DEPRECATED_ATTR void clear_query_collection(); + GOOGLE_PROTOBUF_DEPRECATED_ATTR static const int kQueryCollectionFieldNumber = 2; + GOOGLE_PROTOBUF_DEPRECATED_ATTR const ::flyteidl::plugins::HiveQueryCollection& query_collection() const; + GOOGLE_PROTOBUF_DEPRECATED_ATTR ::flyteidl::plugins::HiveQueryCollection* release_query_collection(); + GOOGLE_PROTOBUF_DEPRECATED_ATTR ::flyteidl::plugins::HiveQueryCollection* mutable_query_collection(); + GOOGLE_PROTOBUF_DEPRECATED_ATTR void set_allocated_query_collection(::flyteidl::plugins::HiveQueryCollection* query_collection); + + // .flyteidl.plugins.HiveQuery query = 4; + bool has_query() const; + void clear_query(); + static const int kQueryFieldNumber = 4; + const ::flyteidl::plugins::HiveQuery& query() const; + ::flyteidl::plugins::HiveQuery* release_query(); + ::flyteidl::plugins::HiveQuery* mutable_query(); + void set_allocated_query(::flyteidl::plugins::HiveQuery* query); // @@protoc_insertion_point(class_scope:flyteidl.plugins.QuboleHiveJob) private: @@ -433,6 +442,7 @@ class QuboleHiveJob : public ::google::protobuf::Message /* @@protoc_insertion_p ::google::protobuf::RepeatedPtrField< ::std::string> tags_; ::google::protobuf::internal::ArenaStringPtr cluster_label_; ::flyteidl::plugins::HiveQueryCollection* query_collection_; + ::flyteidl::plugins::HiveQuery* query_; mutable int _cached_size_; friend struct ::protobuf_flyteidl_2fplugins_2fqubole_2eproto::TableStruct; friend void ::protobuf_flyteidl_2fplugins_2fqubole_2eproto::InitDefaultsQuboleHiveJobImpl(); @@ -620,7 +630,7 @@ inline void QuboleHiveJob::set_allocated_cluster_label(::std::string* cluster_la // @@protoc_insertion_point(field_set_allocated:flyteidl.plugins.QuboleHiveJob.cluster_label) } -// .flyteidl.plugins.HiveQueryCollection query_collection = 2; +// .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; inline bool QuboleHiveJob::has_query_collection() const { return this != internal_default_instance() && query_collection_ != NULL; } @@ -739,6 +749,56 @@ QuboleHiveJob::mutable_tags() { return &tags_; } +// .flyteidl.plugins.HiveQuery query = 4; +inline bool QuboleHiveJob::has_query() const { + return this != internal_default_instance() && query_ != NULL; +} +inline void QuboleHiveJob::clear_query() { + if (GetArenaNoVirtual() == NULL && query_ != NULL) { + delete query_; + } + query_ = NULL; +} +inline const ::flyteidl::plugins::HiveQuery& QuboleHiveJob::query() const { + const ::flyteidl::plugins::HiveQuery* p = query_; + // @@protoc_insertion_point(field_get:flyteidl.plugins.QuboleHiveJob.query) + return p != NULL ? *p : *reinterpret_cast( + &::flyteidl::plugins::_HiveQuery_default_instance_); +} +inline ::flyteidl::plugins::HiveQuery* QuboleHiveJob::release_query() { + // @@protoc_insertion_point(field_release:flyteidl.plugins.QuboleHiveJob.query) + + ::flyteidl::plugins::HiveQuery* temp = query_; + query_ = NULL; + return temp; +} +inline ::flyteidl::plugins::HiveQuery* QuboleHiveJob::mutable_query() { + + if (query_ == NULL) { + query_ = new ::flyteidl::plugins::HiveQuery; + } + // @@protoc_insertion_point(field_mutable:flyteidl.plugins.QuboleHiveJob.query) + return query_; +} +inline void QuboleHiveJob::set_allocated_query(::flyteidl::plugins::HiveQuery* query) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == NULL) { + delete query_; + } + if (query) { + ::google::protobuf::Arena* submessage_arena = NULL; + if (message_arena != submessage_arena) { + query = ::google::protobuf::internal::GetOwnedMessage( + message_arena, query, submessage_arena); + } + + } else { + + } + query_ = query; + // @@protoc_insertion_point(field_set_allocated:flyteidl.plugins.QuboleHiveJob.query) +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go b/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go index 9a189f36f5..7ddda487df 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.go @@ -33,7 +33,7 @@ func (m *HiveQuery) Reset() { *m = HiveQuery{} } func (m *HiveQuery) String() string { return proto.CompactTextString(m) } func (*HiveQuery) ProtoMessage() {} func (*HiveQuery) Descriptor() ([]byte, []int) { - return fileDescriptor_qubole_790d55138f42e270, []int{0} + return fileDescriptor_qubole_dcc6c31eeecc0124, []int{0} } func (m *HiveQuery) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_HiveQuery.Unmarshal(m, b) @@ -86,7 +86,7 @@ func (m *HiveQueryCollection) Reset() { *m = HiveQueryCollection{} } func (m *HiveQueryCollection) String() string { return proto.CompactTextString(m) } func (*HiveQueryCollection) ProtoMessage() {} func (*HiveQueryCollection) Descriptor() ([]byte, []int) { - return fileDescriptor_qubole_790d55138f42e270, []int{1} + return fileDescriptor_qubole_dcc6c31eeecc0124, []int{1} } func (m *HiveQueryCollection) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_HiveQueryCollection.Unmarshal(m, b) @@ -117,8 +117,9 @@ func (m *HiveQueryCollection) GetQueries() []*HiveQuery { // of a hive task's TaskTemplate type QuboleHiveJob struct { ClusterLabel string `protobuf:"bytes,1,opt,name=cluster_label,json=clusterLabel,proto3" json:"cluster_label,omitempty"` - QueryCollection *HiveQueryCollection `protobuf:"bytes,2,opt,name=query_collection,json=queryCollection,proto3" json:"query_collection,omitempty"` + QueryCollection *HiveQueryCollection `protobuf:"bytes,2,opt,name=query_collection,json=queryCollection,proto3" json:"query_collection,omitempty"` // Deprecated: Do not use. Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"` + Query *HiveQuery `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -128,7 +129,7 @@ func (m *QuboleHiveJob) Reset() { *m = QuboleHiveJob{} } func (m *QuboleHiveJob) String() string { return proto.CompactTextString(m) } func (*QuboleHiveJob) ProtoMessage() {} func (*QuboleHiveJob) Descriptor() ([]byte, []int) { - return fileDescriptor_qubole_790d55138f42e270, []int{2} + return fileDescriptor_qubole_dcc6c31eeecc0124, []int{2} } func (m *QuboleHiveJob) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_QuboleHiveJob.Unmarshal(m, b) @@ -155,6 +156,7 @@ func (m *QuboleHiveJob) GetClusterLabel() string { return "" } +// Deprecated: Do not use. func (m *QuboleHiveJob) GetQueryCollection() *HiveQueryCollection { if m != nil { return m.QueryCollection @@ -169,6 +171,13 @@ func (m *QuboleHiveJob) GetTags() []string { return nil } +func (m *QuboleHiveJob) GetQuery() *HiveQuery { + if m != nil { + return m.Query + } + return nil +} + func init() { proto.RegisterType((*HiveQuery)(nil), "flyteidl.plugins.HiveQuery") proto.RegisterType((*HiveQueryCollection)(nil), "flyteidl.plugins.HiveQueryCollection") @@ -176,28 +185,29 @@ func init() { } func init() { - proto.RegisterFile("flyteidl/plugins/qubole.proto", fileDescriptor_qubole_790d55138f42e270) -} - -var fileDescriptor_qubole_790d55138f42e270 = []byte{ - // 303 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x91, 0xcf, 0x4a, 0xc3, 0x40, - 0x10, 0xc6, 0x49, 0xe3, 0x1f, 0x3a, 0xb5, 0x58, 0x56, 0x0f, 0x51, 0x51, 0x43, 0x45, 0xc8, 0xc5, - 0x2c, 0xb4, 0xf4, 0x05, 0xec, 0x45, 0xa4, 0x07, 0x1b, 0x6f, 0x5e, 0x4a, 0x77, 0x9d, 0xc6, 0xc5, - 0x6d, 0xb6, 0xcd, 0xce, 0x0a, 0x79, 0x15, 0x9f, 0x56, 0x92, 0xa6, 0x29, 0xe4, 0xe0, 0x6d, 0xf6, - 0xfb, 0x66, 0x98, 0xdf, 0xb7, 0x03, 0xb7, 0x2b, 0x5d, 0x10, 0xaa, 0x4f, 0xcd, 0x37, 0xda, 0xa5, - 0x2a, 0xb3, 0x7c, 0xeb, 0x84, 0xd1, 0x18, 0x6f, 0x72, 0x43, 0x86, 0x0d, 0xf6, 0x76, 0x5c, 0xdb, - 0xd7, 0x57, 0xcd, 0x80, 0x34, 0x39, 0x72, 0x5a, 0xda, 0x6f, 0xbb, 0x6b, 0x1e, 0x0a, 0xe8, 0xbe, - 0xa8, 0x1f, 0x9c, 0x3b, 0xcc, 0x0b, 0x76, 0x09, 0xc7, 0xdb, 0xb2, 0x08, 0xbc, 0xd0, 0x8b, 0xba, - 0xc9, 0xee, 0xc1, 0xee, 0xa1, 0x47, 0x6a, 0x8d, 0xc6, 0xd1, 0xc2, 0xa2, 0x0c, 0x3a, 0xa1, 0x17, - 0xf5, 0x13, 0xa8, 0xa5, 0x77, 0x94, 0xec, 0x0e, 0x20, 0x47, 0xca, 0x8b, 0xa9, 0x71, 0x19, 0x05, - 0xfe, 0xce, 0x3f, 0x28, 0xc3, 0x19, 0x5c, 0x34, 0x3b, 0xa6, 0x46, 0x6b, 0x94, 0xa4, 0x4c, 0xc6, - 0x26, 0x70, 0x5a, 0x2e, 0x50, 0x68, 0x83, 0x4e, 0xe8, 0x47, 0xbd, 0xd1, 0x4d, 0xdc, 0x26, 0x8f, - 0x9b, 0xb9, 0x64, 0xdf, 0x3b, 0xfc, 0xf5, 0xa0, 0x3f, 0xaf, 0xf2, 0x96, 0xe6, 0xab, 0x11, 0xec, - 0x01, 0xfa, 0x52, 0x3b, 0x4b, 0x98, 0x2f, 0xf4, 0x52, 0xa0, 0xae, 0xf1, 0xcf, 0x6a, 0x71, 0x56, - 0x6a, 0xec, 0x0d, 0x06, 0x55, 0x9c, 0x85, 0x6c, 0x08, 0xaa, 0x28, 0xbd, 0xd1, 0xe3, 0x3f, 0x6b, - 0x0f, 0xb8, 0xc9, 0xf9, 0xb6, 0xc5, 0xcf, 0xe0, 0x88, 0x96, 0xa9, 0x0d, 0xfc, 0xd0, 0x8f, 0xba, - 0x49, 0x55, 0x3f, 0x4f, 0x3e, 0xc6, 0xa9, 0xa2, 0x2f, 0x27, 0x62, 0x69, 0xd6, 0x5c, 0x17, 0x2b, - 0xe2, 0xcd, 0xdf, 0xa7, 0x98, 0xf1, 0x8d, 0x78, 0x4a, 0x0d, 0x6f, 0xdf, 0x4f, 0x9c, 0x54, 0xc7, - 0x18, 0xff, 0x05, 0x00, 0x00, 0xff, 0xff, 0x34, 0x01, 0x9e, 0xb1, 0xda, 0x01, 0x00, 0x00, + proto.RegisterFile("flyteidl/plugins/qubole.proto", fileDescriptor_qubole_dcc6c31eeecc0124) +} + +var fileDescriptor_qubole_dcc6c31eeecc0124 = []byte{ + // 316 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x7c, 0x51, 0xc1, 0x4e, 0xc2, 0x40, + 0x14, 0x4c, 0x29, 0x6a, 0x78, 0x48, 0x24, 0xab, 0x87, 0xaa, 0x51, 0x1b, 0x8c, 0x49, 0x2f, 0x76, + 0x23, 0x84, 0x1f, 0x80, 0x8b, 0x31, 0x5c, 0xa8, 0x9e, 0xbc, 0x10, 0x76, 0x7d, 0xd4, 0x8d, 0x4b, + 0x17, 0xba, 0xbb, 0x26, 0xfd, 0x4c, 0xff, 0xc8, 0x74, 0x5b, 0x4a, 0xc2, 0x81, 0xdb, 0xeb, 0xcc, + 0x7b, 0x9d, 0x99, 0x1d, 0xb8, 0x5b, 0xc9, 0xc2, 0xa0, 0xf8, 0x92, 0x74, 0x23, 0x6d, 0x2a, 0x32, + 0x4d, 0xb7, 0x96, 0x29, 0x89, 0xf1, 0x26, 0x57, 0x46, 0x91, 0xfe, 0x8e, 0x8e, 0x6b, 0xfa, 0xe6, + 0xba, 0x39, 0xe0, 0x2a, 0x47, 0x6a, 0x96, 0xfa, 0x47, 0x57, 0xcb, 0x03, 0x06, 0x9d, 0x57, 0xf1, + 0x8b, 0x73, 0x8b, 0x79, 0x41, 0xae, 0xe0, 0x64, 0x5b, 0x0e, 0x81, 0x17, 0x7a, 0x51, 0x27, 0xa9, + 0x3e, 0xc8, 0x03, 0x74, 0x8d, 0x58, 0xa3, 0xb2, 0x66, 0xa1, 0x91, 0x07, 0xad, 0xd0, 0x8b, 0x7a, + 0x09, 0xd4, 0xd0, 0x3b, 0x72, 0x72, 0x0f, 0x90, 0xa3, 0xc9, 0x8b, 0xa9, 0xb2, 0x99, 0x09, 0xfc, + 0x8a, 0xdf, 0x23, 0x83, 0x19, 0x5c, 0x36, 0x1a, 0x53, 0x25, 0x25, 0x72, 0x23, 0x54, 0x46, 0xc6, + 0x70, 0x56, 0x0a, 0x08, 0xd4, 0x41, 0x2b, 0xf4, 0xa3, 0xee, 0xf0, 0x36, 0x3e, 0x74, 0x1e, 0x37, + 0x77, 0xc9, 0x6e, 0x77, 0xf0, 0xe7, 0x41, 0x6f, 0xee, 0xf2, 0x96, 0xe4, 0x9b, 0x62, 0xe4, 0x11, + 0x7a, 0x5c, 0x5a, 0x6d, 0x30, 0x5f, 0xc8, 0x25, 0x43, 0x59, 0xdb, 0x3f, 0xaf, 0xc1, 0x59, 0x89, + 0x91, 0x0f, 0xe8, 0xbb, 0x38, 0x0b, 0xde, 0x38, 0x70, 0x51, 0xba, 0xc3, 0xa7, 0x23, 0xb2, 0x7b, + 0xbb, 0x93, 0x56, 0xe0, 0x25, 0x17, 0xdb, 0x83, 0x0c, 0x04, 0xda, 0x66, 0x99, 0xea, 0xc0, 0x0f, + 0xfd, 0xa8, 0x93, 0xb8, 0x99, 0xbc, 0xec, 0x5e, 0xb1, 0xed, 0x7e, 0x7f, 0x34, 0x55, 0xb5, 0x39, + 0x19, 0x7f, 0x8e, 0x52, 0x61, 0xbe, 0x2d, 0x8b, 0xb9, 0x5a, 0x53, 0x59, 0xac, 0x0c, 0x6d, 0x2a, + 0x4b, 0x31, 0xa3, 0x1b, 0xf6, 0x9c, 0x2a, 0x7a, 0x58, 0x3b, 0x3b, 0x75, 0x1d, 0x8e, 0xfe, 0x03, + 0x00, 0x00, 0xff, 0xff, 0x63, 0xd9, 0xa0, 0x6e, 0x11, 0x02, 0x00, 0x00, } diff --git a/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.validate.go b/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.validate.go index 896587fc00..6dddadc62c 100644 --- a/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.validate.go +++ b/flyteidl/gen/pb-go/flyteidl/plugins/qubole.pb.validate.go @@ -205,6 +205,16 @@ func (m *QuboleHiveJob) Validate() error { } } + if v, ok := interface{}(m.GetQuery()).(interface{ Validate() error }); ok { + if err := v.Validate(); err != nil { + return QuboleHiveJobValidationError{ + field: "Query", + reason: "embedded message failed validation", + cause: err, + } + } + } + return nil } diff --git a/flyteidl/gen/pb-java/flyteidl/plugins/Qubole.java b/flyteidl/gen/pb-java/flyteidl/plugins/Qubole.java index 7ba17c9d5e..ec1fac3f92 100644 --- a/flyteidl/gen/pb-java/flyteidl/plugins/Qubole.java +++ b/flyteidl/gen/pb-java/flyteidl/plugins/Qubole.java @@ -1453,17 +1453,17 @@ public interface QuboleHiveJobOrBuilder extends getClusterLabelBytes(); /** - * .flyteidl.plugins.HiveQueryCollection query_collection = 2; + * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; */ - boolean hasQueryCollection(); + @java.lang.Deprecated boolean hasQueryCollection(); /** - * .flyteidl.plugins.HiveQueryCollection query_collection = 2; + * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; */ - flyteidl.plugins.Qubole.HiveQueryCollection getQueryCollection(); + @java.lang.Deprecated flyteidl.plugins.Qubole.HiveQueryCollection getQueryCollection(); /** - * .flyteidl.plugins.HiveQueryCollection query_collection = 2; + * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true]; */ - flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder getQueryCollectionOrBuilder(); + @java.lang.Deprecated flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder getQueryCollectionOrBuilder(); /** * repeated string tags = 3; @@ -1483,6 +1483,19 @@ public interface QuboleHiveJobOrBuilder extends */ com.google.protobuf.ByteString getTagsBytes(int index); + + /** + * .flyteidl.plugins.HiveQuery query = 4; + */ + boolean hasQuery(); + /** + * .flyteidl.plugins.HiveQuery query = 4; + */ + flyteidl.plugins.Qubole.HiveQuery getQuery(); + /** + * .flyteidl.plugins.HiveQuery query = 4; + */ + flyteidl.plugins.Qubole.HiveQueryOrBuilder getQueryOrBuilder(); } /** *
@@ -1565,6 +1578,19 @@ private QuboleHiveJob(
               tags_.add(s);
               break;
             }
+            case 34: {
+              flyteidl.plugins.Qubole.HiveQuery.Builder subBuilder = null;
+              if (query_ != null) {
+                subBuilder = query_.toBuilder();
+              }
+              query_ = input.readMessage(flyteidl.plugins.Qubole.HiveQuery.parser(), extensionRegistry);
+              if (subBuilder != null) {
+                subBuilder.mergeFrom(query_);
+                query_ = subBuilder.buildPartial();
+              }
+
+              break;
+            }
           }
         }
       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -1630,21 +1656,21 @@ public java.lang.String getClusterLabel() {
     public static final int QUERY_COLLECTION_FIELD_NUMBER = 2;
     private flyteidl.plugins.Qubole.HiveQueryCollection queryCollection_;
     /**
-     * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+     * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
      */
-    public boolean hasQueryCollection() {
+    @java.lang.Deprecated public boolean hasQueryCollection() {
       return queryCollection_ != null;
     }
     /**
-     * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+     * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
      */
-    public flyteidl.plugins.Qubole.HiveQueryCollection getQueryCollection() {
+    @java.lang.Deprecated public flyteidl.plugins.Qubole.HiveQueryCollection getQueryCollection() {
       return queryCollection_ == null ? flyteidl.plugins.Qubole.HiveQueryCollection.getDefaultInstance() : queryCollection_;
     }
     /**
-     * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+     * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
      */
-    public flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder getQueryCollectionOrBuilder() {
+    @java.lang.Deprecated public flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder getQueryCollectionOrBuilder() {
       return getQueryCollection();
     }
 
@@ -1677,6 +1703,27 @@ public java.lang.String getTags(int index) {
       return tags_.getByteString(index);
     }
 
+    public static final int QUERY_FIELD_NUMBER = 4;
+    private flyteidl.plugins.Qubole.HiveQuery query_;
+    /**
+     * .flyteidl.plugins.HiveQuery query = 4;
+     */
+    public boolean hasQuery() {
+      return query_ != null;
+    }
+    /**
+     * .flyteidl.plugins.HiveQuery query = 4;
+     */
+    public flyteidl.plugins.Qubole.HiveQuery getQuery() {
+      return query_ == null ? flyteidl.plugins.Qubole.HiveQuery.getDefaultInstance() : query_;
+    }
+    /**
+     * .flyteidl.plugins.HiveQuery query = 4;
+     */
+    public flyteidl.plugins.Qubole.HiveQueryOrBuilder getQueryOrBuilder() {
+      return getQuery();
+    }
+
     private byte memoizedIsInitialized = -1;
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
@@ -1698,6 +1745,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output)
       for (int i = 0; i < tags_.size(); i++) {
         com.google.protobuf.GeneratedMessageV3.writeString(output, 3, tags_.getRaw(i));
       }
+      if (query_ != null) {
+        output.writeMessage(4, getQuery());
+      }
       unknownFields.writeTo(output);
     }
 
@@ -1721,6 +1771,10 @@ public int getSerializedSize() {
         size += dataSize;
         size += 1 * getTagsList().size();
       }
+      if (query_ != null) {
+        size += com.google.protobuf.CodedOutputStream
+          .computeMessageSize(4, getQuery());
+      }
       size += unknownFields.getSerializedSize();
       memoizedSize = size;
       return size;
@@ -1746,6 +1800,11 @@ public boolean equals(final java.lang.Object obj) {
       }
       result = result && getTagsList()
           .equals(other.getTagsList());
+      result = result && (hasQuery() == other.hasQuery());
+      if (hasQuery()) {
+        result = result && getQuery()
+            .equals(other.getQuery());
+      }
       result = result && unknownFields.equals(other.unknownFields);
       return result;
     }
@@ -1767,6 +1826,10 @@ public int hashCode() {
         hash = (37 * hash) + TAGS_FIELD_NUMBER;
         hash = (53 * hash) + getTagsList().hashCode();
       }
+      if (hasQuery()) {
+        hash = (37 * hash) + QUERY_FIELD_NUMBER;
+        hash = (53 * hash) + getQuery().hashCode();
+      }
       hash = (29 * hash) + unknownFields.hashCode();
       memoizedHashCode = hash;
       return hash;
@@ -1911,6 +1974,12 @@ public Builder clear() {
         }
         tags_ = com.google.protobuf.LazyStringArrayList.EMPTY;
         bitField0_ = (bitField0_ & ~0x00000004);
+        if (queryBuilder_ == null) {
+          query_ = null;
+        } else {
+          query_ = null;
+          queryBuilder_ = null;
+        }
         return this;
       }
 
@@ -1946,6 +2015,11 @@ public flyteidl.plugins.Qubole.QuboleHiveJob buildPartial() {
           bitField0_ = (bitField0_ & ~0x00000004);
         }
         result.tags_ = tags_;
+        if (queryBuilder_ == null) {
+          result.query_ = query_;
+        } else {
+          result.query_ = queryBuilder_.build();
+        }
         result.bitField0_ = to_bitField0_;
         onBuilt();
         return result;
@@ -2005,6 +2079,9 @@ public Builder mergeFrom(flyteidl.plugins.Qubole.QuboleHiveJob other) {
           }
           onChanged();
         }
+        if (other.hasQuery()) {
+          mergeQuery(other.getQuery());
+        }
         this.mergeUnknownFields(other.unknownFields);
         onChanged();
         return this;
@@ -2106,15 +2183,15 @@ public Builder setClusterLabelBytes(
       private com.google.protobuf.SingleFieldBuilderV3<
           flyteidl.plugins.Qubole.HiveQueryCollection, flyteidl.plugins.Qubole.HiveQueryCollection.Builder, flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder> queryCollectionBuilder_;
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
-      public boolean hasQueryCollection() {
+      @java.lang.Deprecated public boolean hasQueryCollection() {
         return queryCollectionBuilder_ != null || queryCollection_ != null;
       }
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
-      public flyteidl.plugins.Qubole.HiveQueryCollection getQueryCollection() {
+      @java.lang.Deprecated public flyteidl.plugins.Qubole.HiveQueryCollection getQueryCollection() {
         if (queryCollectionBuilder_ == null) {
           return queryCollection_ == null ? flyteidl.plugins.Qubole.HiveQueryCollection.getDefaultInstance() : queryCollection_;
         } else {
@@ -2122,9 +2199,9 @@ public flyteidl.plugins.Qubole.HiveQueryCollection getQueryCollection() {
         }
       }
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
-      public Builder setQueryCollection(flyteidl.plugins.Qubole.HiveQueryCollection value) {
+      @java.lang.Deprecated public Builder setQueryCollection(flyteidl.plugins.Qubole.HiveQueryCollection value) {
         if (queryCollectionBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -2138,9 +2215,9 @@ public Builder setQueryCollection(flyteidl.plugins.Qubole.HiveQueryCollection va
         return this;
       }
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
-      public Builder setQueryCollection(
+      @java.lang.Deprecated public Builder setQueryCollection(
           flyteidl.plugins.Qubole.HiveQueryCollection.Builder builderForValue) {
         if (queryCollectionBuilder_ == null) {
           queryCollection_ = builderForValue.build();
@@ -2152,9 +2229,9 @@ public Builder setQueryCollection(
         return this;
       }
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
-      public Builder mergeQueryCollection(flyteidl.plugins.Qubole.HiveQueryCollection value) {
+      @java.lang.Deprecated public Builder mergeQueryCollection(flyteidl.plugins.Qubole.HiveQueryCollection value) {
         if (queryCollectionBuilder_ == null) {
           if (queryCollection_ != null) {
             queryCollection_ =
@@ -2170,9 +2247,9 @@ public Builder mergeQueryCollection(flyteidl.plugins.Qubole.HiveQueryCollection
         return this;
       }
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
-      public Builder clearQueryCollection() {
+      @java.lang.Deprecated public Builder clearQueryCollection() {
         if (queryCollectionBuilder_ == null) {
           queryCollection_ = null;
           onChanged();
@@ -2184,17 +2261,17 @@ public Builder clearQueryCollection() {
         return this;
       }
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
-      public flyteidl.plugins.Qubole.HiveQueryCollection.Builder getQueryCollectionBuilder() {
+      @java.lang.Deprecated public flyteidl.plugins.Qubole.HiveQueryCollection.Builder getQueryCollectionBuilder() {
         
         onChanged();
         return getQueryCollectionFieldBuilder().getBuilder();
       }
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
-      public flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder getQueryCollectionOrBuilder() {
+      @java.lang.Deprecated public flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder getQueryCollectionOrBuilder() {
         if (queryCollectionBuilder_ != null) {
           return queryCollectionBuilder_.getMessageOrBuilder();
         } else {
@@ -2203,7 +2280,7 @@ public flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder getQueryCollectionOr
         }
       }
       /**
-       * .flyteidl.plugins.HiveQueryCollection query_collection = 2;
+       * .flyteidl.plugins.HiveQueryCollection query_collection = 2 [deprecated = true];
        */
       private com.google.protobuf.SingleFieldBuilderV3<
           flyteidl.plugins.Qubole.HiveQueryCollection, flyteidl.plugins.Qubole.HiveQueryCollection.Builder, flyteidl.plugins.Qubole.HiveQueryCollectionOrBuilder> 
@@ -2312,6 +2389,123 @@ public Builder addTagsBytes(
         onChanged();
         return this;
       }
+
+      private flyteidl.plugins.Qubole.HiveQuery query_ = null;
+      private com.google.protobuf.SingleFieldBuilderV3<
+          flyteidl.plugins.Qubole.HiveQuery, flyteidl.plugins.Qubole.HiveQuery.Builder, flyteidl.plugins.Qubole.HiveQueryOrBuilder> queryBuilder_;
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      public boolean hasQuery() {
+        return queryBuilder_ != null || query_ != null;
+      }
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      public flyteidl.plugins.Qubole.HiveQuery getQuery() {
+        if (queryBuilder_ == null) {
+          return query_ == null ? flyteidl.plugins.Qubole.HiveQuery.getDefaultInstance() : query_;
+        } else {
+          return queryBuilder_.getMessage();
+        }
+      }
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      public Builder setQuery(flyteidl.plugins.Qubole.HiveQuery value) {
+        if (queryBuilder_ == null) {
+          if (value == null) {
+            throw new NullPointerException();
+          }
+          query_ = value;
+          onChanged();
+        } else {
+          queryBuilder_.setMessage(value);
+        }
+
+        return this;
+      }
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      public Builder setQuery(
+          flyteidl.plugins.Qubole.HiveQuery.Builder builderForValue) {
+        if (queryBuilder_ == null) {
+          query_ = builderForValue.build();
+          onChanged();
+        } else {
+          queryBuilder_.setMessage(builderForValue.build());
+        }
+
+        return this;
+      }
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      public Builder mergeQuery(flyteidl.plugins.Qubole.HiveQuery value) {
+        if (queryBuilder_ == null) {
+          if (query_ != null) {
+            query_ =
+              flyteidl.plugins.Qubole.HiveQuery.newBuilder(query_).mergeFrom(value).buildPartial();
+          } else {
+            query_ = value;
+          }
+          onChanged();
+        } else {
+          queryBuilder_.mergeFrom(value);
+        }
+
+        return this;
+      }
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      public Builder clearQuery() {
+        if (queryBuilder_ == null) {
+          query_ = null;
+          onChanged();
+        } else {
+          query_ = null;
+          queryBuilder_ = null;
+        }
+
+        return this;
+      }
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      public flyteidl.plugins.Qubole.HiveQuery.Builder getQueryBuilder() {
+        
+        onChanged();
+        return getQueryFieldBuilder().getBuilder();
+      }
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      public flyteidl.plugins.Qubole.HiveQueryOrBuilder getQueryOrBuilder() {
+        if (queryBuilder_ != null) {
+          return queryBuilder_.getMessageOrBuilder();
+        } else {
+          return query_ == null ?
+              flyteidl.plugins.Qubole.HiveQuery.getDefaultInstance() : query_;
+        }
+      }
+      /**
+       * .flyteidl.plugins.HiveQuery query = 4;
+       */
+      private com.google.protobuf.SingleFieldBuilderV3<
+          flyteidl.plugins.Qubole.HiveQuery, flyteidl.plugins.Qubole.HiveQuery.Builder, flyteidl.plugins.Qubole.HiveQueryOrBuilder> 
+          getQueryFieldBuilder() {
+        if (queryBuilder_ == null) {
+          queryBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
+              flyteidl.plugins.Qubole.HiveQuery, flyteidl.plugins.Qubole.HiveQuery.Builder, flyteidl.plugins.Qubole.HiveQueryOrBuilder>(
+                  getQuery(),
+                  getParentForChildren(),
+                  isClean());
+          query_ = null;
+        }
+        return queryBuilder_;
+      }
       public final Builder setUnknownFields(
           final com.google.protobuf.UnknownFieldSet unknownFields) {
         return super.setUnknownFieldsProto3(unknownFields);
@@ -2390,11 +2584,13 @@ public flyteidl.plugins.Qubole.QuboleHiveJob getDefaultInstanceForType() {
       "HiveQuery\022\r\n\005query\030\001 \001(\t\022\023\n\013timeout_sec\030" +
       "\002 \001(\r\022\022\n\nretryCount\030\003 \001(\r\"C\n\023HiveQueryCo" +
       "llection\022,\n\007queries\030\002 \003(\0132\033.flyteidl.plu" +
-      "gins.HiveQuery\"u\n\rQuboleHiveJob\022\025\n\rclust" +
-      "er_label\030\001 \001(\t\022?\n\020query_collection\030\002 \001(\013" +
-      "2%.flyteidl.plugins.HiveQueryCollection\022" +
-      "\014\n\004tags\030\003 \003(\tB5Z3github.com/lyft/flyteid" +
-      "l/gen/pb-go/flyteidl/pluginsb\006proto3"
+      "gins.HiveQuery\"\245\001\n\rQuboleHiveJob\022\025\n\rclus" +
+      "ter_label\030\001 \001(\t\022C\n\020query_collection\030\002 \001(" +
+      "\0132%.flyteidl.plugins.HiveQueryCollection" +
+      "B\002\030\001\022\014\n\004tags\030\003 \003(\t\022*\n\005query\030\004 \001(\0132\033.flyt" +
+      "eidl.plugins.HiveQueryB5Z3github.com/lyf" +
+      "t/flyteidl/gen/pb-go/flyteidl/pluginsb\006p" +
+      "roto3"
     };
     com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
         new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
@@ -2426,7 +2622,7 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors(
     internal_static_flyteidl_plugins_QuboleHiveJob_fieldAccessorTable = new
       com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
         internal_static_flyteidl_plugins_QuboleHiveJob_descriptor,
-        new java.lang.String[] { "ClusterLabel", "QueryCollection", "Tags", });
+        new java.lang.String[] { "ClusterLabel", "QueryCollection", "Tags", "Query", });
     flyteidl.core.Tasks.getDescriptor();
   }
 
diff --git a/flyteidl/gen/pb-protodoc/flyteidl/plugins/qubole.proto.rst b/flyteidl/gen/pb-protodoc/flyteidl/plugins/qubole.proto.rst
index 124e3f2d9c..0750153a1b 100644
--- a/flyteidl/gen/pb-protodoc/flyteidl/plugins/qubole.proto.rst
+++ b/flyteidl/gen/pb-protodoc/flyteidl/plugins/qubole.proto.rst
@@ -74,7 +74,8 @@ of a hive task's TaskTemplate
   {
     "cluster_label": "...",
     "query_collection": "{...}",
-    "tags": []
+    "tags": [],
+    "query": "{...}"
   }
 
 .. _api_field_flyteidl.plugins.QuboleHiveJob.cluster_label:
@@ -92,4 +93,9 @@ query_collection
 tags
   (`string `_) 
   
+.. _api_field_flyteidl.plugins.QuboleHiveJob.query:
+
+query
+  (:ref:`flyteidl.plugins.HiveQuery `) 
+  
 
diff --git a/flyteidl/gen/pb_python/flyteidl/plugins/qubole_pb2.py b/flyteidl/gen/pb_python/flyteidl/plugins/qubole_pb2.py
index 8522c37c94..9e14e95f2c 100644
--- a/flyteidl/gen/pb_python/flyteidl/plugins/qubole_pb2.py
+++ b/flyteidl/gen/pb_python/flyteidl/plugins/qubole_pb2.py
@@ -20,7 +20,7 @@
   name='flyteidl/plugins/qubole.proto',
   package='flyteidl.plugins',
   syntax='proto3',
-  serialized_pb=_b('\n\x1d\x66lyteidl/plugins/qubole.proto\x12\x10\x66lyteidl.plugins\x1a\x19\x66lyteidl/core/tasks.proto\"C\n\tHiveQuery\x12\r\n\x05query\x18\x01 \x01(\t\x12\x13\n\x0btimeout_sec\x18\x02 \x01(\r\x12\x12\n\nretryCount\x18\x03 \x01(\r\"C\n\x13HiveQueryCollection\x12,\n\x07queries\x18\x02 \x03(\x0b\x32\x1b.flyteidl.plugins.HiveQuery\"u\n\rQuboleHiveJob\x12\x15\n\rcluster_label\x18\x01 \x01(\t\x12?\n\x10query_collection\x18\x02 \x01(\x0b\x32%.flyteidl.plugins.HiveQueryCollection\x12\x0c\n\x04tags\x18\x03 \x03(\tB5Z3github.com/lyft/flyteidl/gen/pb-go/flyteidl/pluginsb\x06proto3')
+  serialized_pb=_b('\n\x1d\x66lyteidl/plugins/qubole.proto\x12\x10\x66lyteidl.plugins\x1a\x19\x66lyteidl/core/tasks.proto\"C\n\tHiveQuery\x12\r\n\x05query\x18\x01 \x01(\t\x12\x13\n\x0btimeout_sec\x18\x02 \x01(\r\x12\x12\n\nretryCount\x18\x03 \x01(\r\"C\n\x13HiveQueryCollection\x12,\n\x07queries\x18\x02 \x03(\x0b\x32\x1b.flyteidl.plugins.HiveQuery\"\xa5\x01\n\rQuboleHiveJob\x12\x15\n\rcluster_label\x18\x01 \x01(\t\x12\x43\n\x10query_collection\x18\x02 \x01(\x0b\x32%.flyteidl.plugins.HiveQueryCollectionB\x02\x18\x01\x12\x0c\n\x04tags\x18\x03 \x03(\t\x12*\n\x05query\x18\x04 \x01(\x0b\x32\x1b.flyteidl.plugins.HiveQueryB5Z3github.com/lyft/flyteidl/gen/pb-go/flyteidl/pluginsb\x06proto3')
   ,
   dependencies=[flyteidl_dot_core_dot_tasks__pb2.DESCRIPTOR,])
 
@@ -123,7 +123,7 @@
       has_default_value=False, default_value=None,
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
-      options=None, file=DESCRIPTOR),
+      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001')), file=DESCRIPTOR),
     _descriptor.FieldDescriptor(
       name='tags', full_name='flyteidl.plugins.QuboleHiveJob.tags', index=2,
       number=3, type=9, cpp_type=9, label=3,
@@ -131,6 +131,13 @@
       message_type=None, enum_type=None, containing_type=None,
       is_extension=False, extension_scope=None,
       options=None, file=DESCRIPTOR),
+    _descriptor.FieldDescriptor(
+      name='query', full_name='flyteidl.plugins.QuboleHiveJob.query', index=3,
+      number=4, type=11, cpp_type=10, label=1,
+      has_default_value=False, default_value=None,
+      message_type=None, enum_type=None, containing_type=None,
+      is_extension=False, extension_scope=None,
+      options=None, file=DESCRIPTOR),
   ],
   extensions=[
   ],
@@ -143,12 +150,13 @@
   extension_ranges=[],
   oneofs=[
   ],
-  serialized_start=216,
-  serialized_end=333,
+  serialized_start=217,
+  serialized_end=382,
 )
 
 _HIVEQUERYCOLLECTION.fields_by_name['queries'].message_type = _HIVEQUERY
 _QUBOLEHIVEJOB.fields_by_name['query_collection'].message_type = _HIVEQUERYCOLLECTION
+_QUBOLEHIVEJOB.fields_by_name['query'].message_type = _HIVEQUERY
 DESCRIPTOR.message_types_by_name['HiveQuery'] = _HIVEQUERY
 DESCRIPTOR.message_types_by_name['HiveQueryCollection'] = _HIVEQUERYCOLLECTION
 DESCRIPTOR.message_types_by_name['QuboleHiveJob'] = _QUBOLEHIVEJOB
@@ -178,4 +186,6 @@
 
 DESCRIPTOR.has_options = True
 DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('Z3github.com/lyft/flyteidl/gen/pb-go/flyteidl/plugins'))
+_QUBOLEHIVEJOB.fields_by_name['query_collection'].has_options = True
+_QUBOLEHIVEJOB.fields_by_name['query_collection']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\030\001'))
 # @@protoc_insertion_point(module_scope)
diff --git a/flyteidl/protos/flyteidl/plugins/qubole.proto b/flyteidl/protos/flyteidl/plugins/qubole.proto
index f7c2961ccc..33447c2f49 100644
--- a/flyteidl/protos/flyteidl/plugins/qubole.proto
+++ b/flyteidl/protos/flyteidl/plugins/qubole.proto
@@ -22,6 +22,7 @@ message HiveQueryCollection {
 // of a hive task's TaskTemplate
 message QuboleHiveJob {
     string cluster_label = 1;
-    HiveQueryCollection query_collection = 2;
+    HiveQueryCollection query_collection = 2 [deprecated=true];
     repeated string tags = 3;
+    HiveQuery query = 4;
 }
diff --git a/flyteidl/setup.py b/flyteidl/setup.py
index 155ec7c616..94d5a5a349 100644
--- a/flyteidl/setup.py
+++ b/flyteidl/setup.py
@@ -1,6 +1,6 @@
 from setuptools import setup, find_packages
 
-__version__ = '0.13.0'
+__version__ = '0.1.2'
 
 setup(
     name='flyteidl',