|
C++ YT Wrapper
C++ library for working with YT clusters
|
Interface representing a master transaction. More...
#include <client.h>
Public Member Functions | |
| virtual const TTransactionId & | GetId () const =0 |
| Get id of transaction. | |
| virtual ILockPtr | Lock (const TYPath &path, ELockMode mode, const TLockOptions &options=TLockOptions())=0 |
| Try to lock given path. | |
| virtual void | Unlock (const TYPath &path, const TUnlockOptions &options=TUnlockOptions())=0 |
| Remove all the locks (including pending ones) for this transaction from a Cypress node at path. | |
| virtual void | Commit (const TCommitTransactionOptions &options={})=0 |
| Commit transaction. | |
| virtual void | Abort ()=0 |
| Abort transaction. | |
| virtual void | Ping ()=0 |
| Explicitly ping transaction. | |
| virtual void | Detach () |
| Detach transaction. | |
| Public Member Functions inherited from NYT::IClientBase | |
| virtual ITransactionPtr | StartTransaction (const TStartTransactionOptions &options=TStartTransactionOptions())=0 |
| Start a [transaction] (https://ytsaurus.tech/docs/en/user-guide/storage/transactions.html#master_transactions). | |
| virtual TDistributedWriteFileSessionWithCookies | StartDistributedWriteFileSession (const TRichYPath &richPath, i64 cookieCount, const TStartDistributedWriteFileOptions &options={})=0 |
| Initialize distributed file session and request cookies for participants. | |
| virtual TDistributedWriteTableSessionWithCookies | StartDistributedWriteTableSession (const TRichYPath &richPath, i64 cookieCount, const TStartDistributedWriteTableOptions &options={})=0 |
| Initialize distributed table session and request cookies for participants. | |
| virtual void | AlterTable (const TYPath &path, const TAlterTableOptions &options=TAlterTableOptions())=0 |
| Change properties of table. | |
| virtual TBatchRequestPtr | CreateBatchRequest ()=0 |
| Create batch request object that allows to execute several light requests in parallel. | |
| virtual IClientPtr | GetParentClient (bool ignoreGlobalTx=false)=0 |
| Get root client. | |
| Public Member Functions inherited from NYT::ICypressClient | |
| virtual TNodeId | Create (const TYPath &path, ENodeType type, const TCreateOptions &options=TCreateOptions())=0 |
| Create Cypress node of given type. | |
| template<typename TRowType> | |
| TNodeId | CreateTable (const TYPath &path, const TSortColumns &sortColumns=TSortColumns(), const TCreateOptions &options=TCreateOptions()) |
| Create table with schema inferred from the template argument. | |
| virtual void | Remove (const TYPath &path, const TRemoveOptions &options=TRemoveOptions())=0 |
| Remove Cypress node. | |
| virtual bool | Exists (const TYPath &path, const TExistsOptions &options=TExistsOptions())=0 |
| Check if Cypress node exists. | |
| virtual TNode | Get (const TYPath &path, const TGetOptions &options=TGetOptions())=0 |
| Get Cypress node contents. | |
| virtual void | Set (const TYPath &path, const TNode &value, const TSetOptions &options=TSetOptions())=0 |
| Set Cypress node contents. | |
| virtual void | MultisetAttributes (const TYPath &path, const TNode::TMapType &attributes, const TMultisetAttributesOptions &options=TMultisetAttributesOptions())=0 |
| Set multiple attributes for cypress path. | |
| virtual TNode::TListType | List (const TYPath &path, const TListOptions &options=TListOptions())=0 |
| List Cypress map or attribute node keys. | |
| virtual TNodeId | Copy (const TYPath &sourcePath, const TYPath &destinationPath, const TCopyOptions &options=TCopyOptions())=0 |
| Copy Cypress node. | |
| virtual TNodeId | Move (const TYPath &sourcePath, const TYPath &destinationPath, const TMoveOptions &options=TMoveOptions())=0 |
| Move Cypress node (equivalent to copy-then-remove). | |
| virtual TNodeId | Link (const TYPath &targetPath, const TYPath &linkPath, const TLinkOptions &options=TLinkOptions())=0 |
| Create link to Cypress node. | |
| virtual void | Concatenate (const TVector< TRichYPath > &sourcePaths, const TRichYPath &destinationPath, const TConcatenateOptions &options=TConcatenateOptions())=0 |
| Concatenate several tables into one. | |
| virtual void | Concatenate (const TVector< TYPath > &sourcePaths, const TYPath &destinationPath, const TConcatenateOptions &options=TConcatenateOptions()) |
| Concatenate several tables into one. | |
| virtual TRichYPath | CanonizeYPath (const TRichYPath &path)=0 |
| Canonize YPath, moving all the complex YPath features to attributes. | |
| virtual TVector< TTableColumnarStatistics > | GetTableColumnarStatistics (const TVector< TRichYPath > &paths, const TGetTableColumnarStatisticsOptions &options={})=0 |
| Get statistics for given sets of columns in given table ranges. | |
| virtual TMultiTablePartitions | GetTablePartitions (const TVector< TRichYPath > &paths, const TGetTablePartitionsOptions &options)=0 |
| Divide input tables into disjoint partitions. | |
| virtual TFilePartitions | GetFilePartitions (const TYPath &path, const TVector< TFileReadRange > &ranges, const TGetFilePartitionsOptions &options={})=0 |
| Split a file into partitions according to the given byte ranges. | |
| virtual TMaybe< TYPath > | GetFileFromCache (const TString &md5Signature, const TYPath &cachePath, const TGetFileFromCacheOptions &options=TGetFileFromCacheOptions())=0 |
| Get file from file cache. | |
| virtual TYPath | PutFileToCache (const TYPath &filePath, const TString &md5Signature, const TYPath &cachePath, const TPutFileToCacheOptions &options=TPutFileToCacheOptions())=0 |
| Put file to file cache. | |
| Public Member Functions inherited from NYT::IIOClient | |
| virtual IFileReaderPtr | CreateFileReader (const TRichYPath &path, const TFileReaderOptions &options=TFileReaderOptions())=0 |
| Create a reader for file at path. | |
| virtual IFileReaderPtr | CreateFilePartitionReader (const TString &cookie, const TFilePartitionReaderOptions &options={})=0 |
| Create a reader of file partition. | |
| virtual IFileWriterPtr | CreateFileWriter (const TRichYPath &path, const TFileWriterOptions &options=TFileWriterOptions())=0 |
| Create a writer for file at path. | |
| virtual IFileFragmentWriterPtr | CreateFileFragmentWriter (const TDistributedWriteFileCookie &cookie, const TFileFragmentWriterOptions &options=TFileFragmentWriterOptions())=0 |
| Create a fragment writer for given distributed file session cookie. | |
| template<class T> | |
| TTableReaderPtr< T > | CreateTableReader (const TRichYPath &path, const TTableReaderOptions &options=TTableReaderOptions()) |
| Create a typed reader for table at path. | |
| template<class T> | |
| TTableWriterPtr< T > | CreateTableWriter (const TRichYPath &path, const TTableWriterOptions &options=TTableWriterOptions()) |
| Create a typed writer for table at path. | |
| virtual TTableWriterPtr<::google::protobuf::Message > | CreateTableWriter (const TRichYPath &path, const ::google::protobuf::Descriptor &descriptor, const TTableWriterOptions &options=TTableWriterOptions())=0 |
| Create a writer to write protobuf messages with specified descriptor. | |
| template<class T> | |
| ITableFragmentWriterPtr< T > | CreateTableFragmentWriter (const TDistributedWriteTableCookie &cookie, const TTableFragmentWriterOptions &options={}) |
| Create a fragment table writer for given distributed table session cookie. | |
| virtual TRawTableReaderPtr | CreateRawReader (const TRichYPath &path, const TFormat &format, const TTableReaderOptions &options=TTableReaderOptions())=0 |
| Create a reader to read a table using specified format. | |
| virtual TRawTableWriterPtr | CreateRawWriter (const TRichYPath &path, const TFormat &format, const TTableWriterOptions &options=TTableWriterOptions())=0 |
| Create a reader to write a table using specified format. | |
| virtual TRawTableReaderPtr | CreateRawTablePartitionReader (const TString &cookie, const TFormat &format, const TTablePartitionReaderOptions &options={})=0 |
| Create raw reader of table partition. | |
| template<class T> | |
| TTableReaderPtr< T > | CreateTablePartitionReader (const TString &cookie, const TTablePartitionReaderOptions &options={}) |
| Create reader of table partition. | |
| virtual IFileReaderPtr | CreateBlobTableReader (const TYPath &path, const TKey &blobId, const TBlobTableReaderOptions &options=TBlobTableReaderOptions())=0 |
| Create a reader for blob table at path. | |
| Public Member Functions inherited from NYT::IOperationClient | |
| IOperationPtr | Map (const TMapOperationSpec &spec, ::TIntrusivePtr< IMapperBase > mapper, const TOperationOptions &options=TOperationOptions()) |
| Run Map operation. | |
| IOperationPtr | Map (::TIntrusivePtr< IMapperBase > mapper, const TOneOrMany< TStructuredTablePath > &input, const TOneOrMany< TStructuredTablePath > &output, const TMapOperationSpec &spec=TMapOperationSpec(), const TOperationOptions &options=TOperationOptions()) |
| Run Map operation. | |
| virtual IOperationPtr | RawMap (const TRawMapOperationSpec &spec, ::TIntrusivePtr< IRawJob > rawJob, const TOperationOptions &options=TOperationOptions())=0 |
| Run raw Map operation. | |
| IOperationPtr | Reduce (const TReduceOperationSpec &spec, ::TIntrusivePtr< IReducerBase > reducer, const TOperationOptions &options=TOperationOptions()) |
| Run Reduce operation. | |
| IOperationPtr | Reduce (::TIntrusivePtr< IReducerBase > reducer, const TOneOrMany< TStructuredTablePath > &input, const TOneOrMany< TStructuredTablePath > &output, const TSortColumns &reduceBy, const TReduceOperationSpec &spec=TReduceOperationSpec(), const TOperationOptions &options=TOperationOptions()) |
| Run Reduce operation. | |
| virtual IOperationPtr | RawReduce (const TRawReduceOperationSpec &spec, ::TIntrusivePtr< IRawJob > rawJob, const TOperationOptions &options=TOperationOptions())=0 |
| Run raw Reduce operation. | |
| IOperationPtr | MapReduce (const TMapReduceOperationSpec &spec, ::TIntrusivePtr< IMapperBase > mapper, ::TIntrusivePtr< IReducerBase > reducer, const TOperationOptions &options=TOperationOptions()) |
| Run JoinReduce operation. | |
| IOperationPtr | MapReduce (const TMapReduceOperationSpec &spec, ::TIntrusivePtr< IMapperBase > mapper, ::TIntrusivePtr< IReducerBase > reduceCombiner, ::TIntrusivePtr< IReducerBase > reducer, const TOperationOptions &options=TOperationOptions()) |
| Run MapReduce operation. | |
| IOperationPtr | MapReduce (::TIntrusivePtr< IMapperBase > mapper, ::TIntrusivePtr< IReducerBase > reducer, const TOneOrMany< TStructuredTablePath > &input, const TOneOrMany< TStructuredTablePath > &output, const TSortColumns &reduceBy, TMapReduceOperationSpec spec=TMapReduceOperationSpec(), const TOperationOptions &options=TOperationOptions()) |
| Run MapReduce operation. | |
| IOperationPtr | MapReduce (::TIntrusivePtr< IMapperBase > mapper, ::TIntrusivePtr< IReducerBase > reduceCombiner, ::TIntrusivePtr< IReducerBase > reducer, const TOneOrMany< TStructuredTablePath > &input, const TOneOrMany< TStructuredTablePath > &output, const TSortColumns &reduceBy, TMapReduceOperationSpec spec=TMapReduceOperationSpec(), const TOperationOptions &options=TOperationOptions()) |
| Run MapReduce operation. | |
| virtual IOperationPtr | RawMapReduce (const TRawMapReduceOperationSpec &spec, ::TIntrusivePtr< IRawJob > mapper, ::TIntrusivePtr< IRawJob > reduceCombiner, ::TIntrusivePtr< IRawJob > reducer, const TOperationOptions &options=TOperationOptions())=0 |
| Run raw MapReduce operation. | |
| virtual IOperationPtr | Sort (const TSortOperationSpec &spec, const TOperationOptions &options=TOperationOptions())=0 |
| Run Sort operation. | |
| IOperationPtr | Sort (const TOneOrMany< TRichYPath > &input, const TRichYPath &output, const TSortColumns &sortBy, const TSortOperationSpec &spec=TSortOperationSpec(), const TOperationOptions &options=TOperationOptions()) |
| Run Sort operation. | |
| virtual IOperationPtr | Merge (const TMergeOperationSpec &spec, const TOperationOptions &options=TOperationOptions())=0 |
| Run Merge operation. | |
| virtual IOperationPtr | Erase (const TEraseOperationSpec &spec, const TOperationOptions &options=TOperationOptions())=0 |
| Run Erase operation. | |
| virtual IOperationPtr | RemoteCopy (const TRemoteCopyOperationSpec &spec, const TOperationOptions &options=TOperationOptions())=0 |
| Run RemoteCopy operation. | |
| virtual IOperationPtr | RunVanilla (const TVanillaOperationSpec &spec, const TOperationOptions &options=TOperationOptions())=0 |
| Run Vanilla operation. | |
| virtual void | AbortOperation (const TOperationId &operationId)=0 |
| Abort operation. | |
| virtual void | CompleteOperation (const TOperationId &operationId)=0 |
| Complete operation. | |
| virtual void | WaitForOperation (const TOperationId &operationId)=0 |
| Wait for operation to finish. | |
| virtual EOperationBriefState | CheckOperation (const TOperationId &operationId)=0 |
| Check and return operation status. | |
| virtual IOperationPtr | AttachOperation (const TOperationId &operationId)=0 |
| Create an operation object given operation id. | |
Interface representing a master transaction.
|
pure virtual |
|
pure virtual |
Commit transaction.
All changes that are made by transactions become visible globally or to parent transaction.
|
virtual |
Detach transaction.
Stop any activities connected with it: pinging, aborting on crashes etc. Forget about the transaction totally.
|
pure virtual |
Try to lock given path.
Lock will be held until transaction is committed/aborted or NYT::ITransaction::Unlock method is called. Lock modes:
Exclusive/shared lock can be waitable or not. If nonwaitable lock cannot be taken exception is thrown. If waitable lock cannot be taken it is created in pending state and client can wait until it actually taken. Check NYT::TLockOptions::Waitable and NYT::ILock::GetAcquiredFuture for more details.
|
pure virtual |
Explicitly ping transaction.
User usually does not need this method (as transactions are pinged automatically, see NYT::TStartTransactionOptions::AutoPingable).
|
pure virtual |
Remove all the locks (including pending ones) for this transaction from a Cypress node at path.
If the locked version of the node differs from the original one, an error will be thrown.
Command is successful even if the node has no locks. Only explicit (created by NYT::ITransaction::Lock) locks are removed.