[
https://issues.apache.org/jira/browse/HIVE-27732?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aman Raj updated HIVE-27732:
----------------------------
Description:
Added additional functions for OSS Spark 3.3 and HMS 3.1.2 Compatibility.
These are the functions used by Spark when it integrates with Hive :
List of all functions called by HiveShim.scala. This can be found in Spark 3.3
codebase.
1. hive.dropDatabase(dbName, deleteData, ignoreUnknownDb, cascade)
2. hive.alterDatabase(dbName, d)
3. hive.getDatabase(dbName)
4. hive.getAllDatabases.asScala.toSeq
5. hive.getDatabasesByPattern(pattern).asScala.toSeq
6. hive.databaseExists(dbName)
7. getAllPartitionsMethod.invoke(hive, table)
8. getPartitionsByFilterMethod.invoke(hive, table, filter)
9. alterTableMethod.invoke(hive, tableName, table,
environmentContextInAlterTable)
10. alterPartitionsMethod.invoke(hive, tableName, newParts,
environmentContextInAlterTable)
11. hive.createTable(table, ifNotExists)
12. hive.getTable(database, tableName)
13. hive.getTable(dbName, tableName, throwException)
14. hive.getTable(tableName)
15. getTablesByTypeMethod.invoke(hive, dbName, pattern, tableType)
16. hive.getTablesByPattern(dbName, pattern).asScala.toSeq
17. hive.getAllTables(dbName).asScala.toSeq
18. hive.dropTable(dbName, tableName, deleteData, ignoreIfNotExists)
19. hive.dropTable(dbName, tableName)
20. dropTableMethod.invoke(hive, dbName, tableName, deleteData:
JBoolean,ignoreIfNotExists: JBoolean, purge: JBoolean)
21. hive.getPartition(table, partSpec, forceCreate)
22. hive.getPartitions(table, partSpec).asScala.toSeq
23. hive.getPartitionNames(dbName, tableName, max).asScala.toSeq
24. hive.getPartitionNames(dbName, tableName, partSpec, max).asScala.toSeq
25. createPartitionMethod.invoke(
hive,
table,
spec,
location,
params, // partParams
null, // inputFormat
null, // outputFormat
-1: JInteger, // numBuckets
null, // cols
null, // serializationLib
null, // serdeParams
null, // bucketCols
null) // sortCols
}
26. hive.createPartitions(addPartitionDesc)
27. loadPartitionMethod.invoke(hive, loadPath, tableName, partSpec, replace:
JBoolean,
inheritTableSpecs: JBoolean, isSkewedStoreAsSubdir: JBoolean,
isSrcLocal: JBoolean, isAcid, hasFollowingStatsTask)
28. hive.renamePartition(table, oldPartSpec, newPart)
29. loadTableMethod.invoke(hive, loadPath, tableName, loadFileType.get,
isSrcLocal: JBoolean,
isSkewedStoreAsSubdir, isAcidIUDoperation, hasFollowingStatsTask,
writeIdInLoadTableOrPartition, stmtIdInLoadTableOrPartition: JInteger,
replace: JBoolean)
30. loadDynamicPartitionsMethod.invoke(hive, loadPath, tableName, partSpec,
loadFileType.get,
numDP: JInteger, listBucketingLevel, isAcid,
writeIdInLoadTableOrPartition,
stmtIdInLoadTableOrPartition, hasFollowingStatsTask,
AcidUtils.Operation.NOT_ACID,
replace: JBoolean)
31. hive.createFunction(toHiveFunction(func, db))
32. hive.dropFunction(db, name)
33. hive.alterFunction(db, oldName, hiveFunc)
34. hive.getFunctions(db, pattern).asScala.toSeq
35. dropIndexMethod.invoke(hive, dbName, tableName, indexName,
throwExceptionInDropIndex,
deleteDataInDropIndex)
> Backward compatibility for Hive with Components like Spark
> ----------------------------------------------------------
>
> Key: HIVE-27732
> URL: https://issues.apache.org/jira/browse/HIVE-27732
> Project: Hive
> Issue Type: Sub-task
> Affects Versions: 3.2.0
> Reporter: Aman Raj
> Assignee: Aman Raj
> Priority: Major
>
> Added additional functions for OSS Spark 3.3 and HMS 3.1.2 Compatibility.
> These are the functions used by Spark when it integrates with Hive :
>
> List of all functions called by HiveShim.scala. This can be found in Spark
> 3.3 codebase.
> 1. hive.dropDatabase(dbName, deleteData, ignoreUnknownDb, cascade)
> 2. hive.alterDatabase(dbName, d)
> 3. hive.getDatabase(dbName)
> 4. hive.getAllDatabases.asScala.toSeq
> 5. hive.getDatabasesByPattern(pattern).asScala.toSeq
> 6. hive.databaseExists(dbName)
> 7. getAllPartitionsMethod.invoke(hive, table)
> 8. getPartitionsByFilterMethod.invoke(hive, table, filter)
> 9. alterTableMethod.invoke(hive, tableName, table,
> environmentContextInAlterTable)
> 10. alterPartitionsMethod.invoke(hive, tableName, newParts,
> environmentContextInAlterTable)
> 11. hive.createTable(table, ifNotExists)
> 12. hive.getTable(database, tableName)
> 13. hive.getTable(dbName, tableName, throwException)
> 14. hive.getTable(tableName)
> 15. getTablesByTypeMethod.invoke(hive, dbName, pattern, tableType)
> 16. hive.getTablesByPattern(dbName, pattern).asScala.toSeq
> 17. hive.getAllTables(dbName).asScala.toSeq
> 18. hive.dropTable(dbName, tableName, deleteData, ignoreIfNotExists)
> 19. hive.dropTable(dbName, tableName)
> 20. dropTableMethod.invoke(hive, dbName, tableName, deleteData:
> JBoolean,ignoreIfNotExists: JBoolean, purge: JBoolean)
> 21. hive.getPartition(table, partSpec, forceCreate)
> 22. hive.getPartitions(table, partSpec).asScala.toSeq
> 23. hive.getPartitionNames(dbName, tableName, max).asScala.toSeq
> 24. hive.getPartitionNames(dbName, tableName, partSpec, max).asScala.toSeq
> 25. createPartitionMethod.invoke(
> hive,
> table,
> spec,
> location,
> params, // partParams
> null, // inputFormat
> null, // outputFormat
> -1: JInteger, // numBuckets
> null, // cols
> null, // serializationLib
> null, // serdeParams
> null, // bucketCols
> null) // sortCols
> }
> 26. hive.createPartitions(addPartitionDesc)
> 27. loadPartitionMethod.invoke(hive, loadPath, tableName, partSpec, replace:
> JBoolean,
> inheritTableSpecs: JBoolean, isSkewedStoreAsSubdir: JBoolean,
> isSrcLocal: JBoolean, isAcid, hasFollowingStatsTask)
> 28. hive.renamePartition(table, oldPartSpec, newPart)
> 29. loadTableMethod.invoke(hive, loadPath, tableName, loadFileType.get,
> isSrcLocal: JBoolean,
> isSkewedStoreAsSubdir, isAcidIUDoperation, hasFollowingStatsTask,
> writeIdInLoadTableOrPartition, stmtIdInLoadTableOrPartition: JInteger,
> replace: JBoolean)
>
> 30. loadDynamicPartitionsMethod.invoke(hive, loadPath, tableName, partSpec,
> loadFileType.get,
> numDP: JInteger, listBucketingLevel, isAcid,
> writeIdInLoadTableOrPartition,
> stmtIdInLoadTableOrPartition, hasFollowingStatsTask,
> AcidUtils.Operation.NOT_ACID,
> replace: JBoolean)
> 31. hive.createFunction(toHiveFunction(func, db))
> 32. hive.dropFunction(db, name)
> 33. hive.alterFunction(db, oldName, hiveFunc)
> 34. hive.getFunctions(db, pattern).asScala.toSeq
> 35. dropIndexMethod.invoke(hive, dbName, tableName, indexName,
> throwExceptionInDropIndex,
> deleteDataInDropIndex)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)