carbondata icon indicating copy to clipboard operation
carbondata copied to clipboard

[CARBONDATA-4045] Add TPCDS TestCase for Spark on CarbonData Integration Test

Open marchpure opened this issue 4 years ago • 19 comments

Why is this PR needed?

There is no TPC-DS TestCases in the current source code. It is difficult to debug TPC-DS on small dataset. Also, TPC-DS TestCase would help to find possible issues

What changes were proposed in this PR?

  1. Add small dataset of TPCDS
  2. Add SQL of TPCDS
  3. Add 54 Testcases (There are 99 testcases in TPCDS, but only 54 testcases can run without empty result)

Does this PR introduce any user interface change?

  • No

Is any new testcase added?

  • Yes

marchpure avatar Oct 25 '20 06:10 marchpure

Build Failed with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2920/

CarbonDataQA1 avatar Oct 25 '20 06:10 CarbonDataQA1

Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/4677/

CarbonDataQA1 avatar Oct 25 '20 06:10 CarbonDataQA1

Build Failed with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2921/

CarbonDataQA1 avatar Oct 25 '20 15:10 CarbonDataQA1

Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/4678/

CarbonDataQA1 avatar Oct 25 '20 15:10 CarbonDataQA1

retest this please

marchpure avatar Oct 25 '20 15:10 marchpure

Build Failed with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2923/

CarbonDataQA1 avatar Oct 25 '20 16:10 CarbonDataQA1

Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/4680/

CarbonDataQA1 avatar Oct 25 '20 16:10 CarbonDataQA1

Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/4681/

CarbonDataQA1 avatar Oct 25 '20 23:10 CarbonDataQA1

Build Failed with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2924/

CarbonDataQA1 avatar Oct 25 '20 23:10 CarbonDataQA1

Build Failed with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2927/

CarbonDataQA1 avatar Oct 26 '20 03:10 CarbonDataQA1

Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/4684/

CarbonDataQA1 avatar Oct 26 '20 03:10 CarbonDataQA1

Build Failed with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/4690/

CarbonDataQA1 avatar Oct 26 '20 10:10 CarbonDataQA1

Build Failed with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2933/

CarbonDataQA1 avatar Oct 26 '20 10:10 CarbonDataQA1

Build Success with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/4693/

CarbonDataQA1 avatar Oct 26 '20 13:10 CarbonDataQA1

Build Success with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2936/

CarbonDataQA1 avatar Oct 26 '20 13:10 CarbonDataQA1

Build Success with Spark 2.3.4, Please check CI http://121.244.95.60:12545/job/ApacheCarbonPRBuilder2.3/4697/

CarbonDataQA1 avatar Oct 27 '20 06:10 CarbonDataQA1

Build Success with Spark 2.4.5, Please check CI http://121.244.95.60:12545/job/ApacheCarbon_PR_Builder_2.4.5/2940/

CarbonDataQA1 avatar Oct 27 '20 06:10 CarbonDataQA1

@marchpure : The reason why we don't have TPCH and TPCDS in UT is we need a huge data set, loading huge data takes time.

What is the reason behind adding this? we can anyways have separate TPCH or TPCDS machines that can have automation script to give performance benchmark on every release

Also no need to run TPCH and TPCDS on every PR builder. Running once per release is enough.

@QiangCai , @kunal642 : What's your opinion on this?

ajantha-bhat avatar Oct 27 '20 06:10 ajantha-bhat

@marchpure : The reason why we don't have TPCH and TPCDS in UT is we need a huge data set, loading huge data takes time.

What is the reason behind adding this? we can anyways have separate TPCH or TPCDS machines that can have automation script to give performance benchmark on every release

Also no need to run TPCH and TPCDS on every PR builder. Running once per release is enough.

@QiangCai , @kunal642 : What's your opinion on this?

  1. The TPCDS dataset in this PR is really small(totally 33KB). it won"t took so much time to load and query. It may help to avoid possible issues with accepted overhead.
  2. it also help us to debug tpcds. explain plan ~analyse in local environment.

the inspiration to add tpcds test case is CARBONDATA 4008. Whose issue is Spark on CarbonData will fail in TPCDS Query 83. This issue seems has been there for a log time, which implies that our UT is not enough. I believe that we can add a profile to turn on/off of TPCDS test in the future if the automatic TPCDS machine is ready.

Maybe we can have a module name 'carbondata-integretion-test'?

marchpure avatar Oct 27 '20 07:10 marchpure