This is an automated email from the ASF dual-hosted git repository.

nagarwal pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hudi.git


The following commit(s) were added to refs/heads/master by this push:
     new 581d540  [HUDI-1143] Change timestamp field in HoodieTestDataGenerator 
from double to long
581d540 is described below

commit 581d54097c89e5f9c04d8f606c9081dc17138bd5
Author: shenh062326 <[email protected]>
AuthorDate: Sun Sep 6 16:00:45 2020 +0800

    [HUDI-1143] Change timestamp field in HoodieTestDataGenerator from double 
to long
---
 docker/demo/config/test-suite/target.avsc          |  2 +-
 .../hudi/cli/integ/ITTestBootstrapCommand.java     |  2 +-
 .../cli/integ/ITTestHDFSParquetImportCommand.java  |  4 ++--
 .../commit/TestCopyOnWriteActionExecutor.java      |  3 ++-
 .../src/test/resources/testDataGeneratorSchema.txt |  3 +--
 .../common/testutils/HoodieTestDataGenerator.java  | 28 +++++++++++-----------
 .../common/HoodieExampleDataGenerator.java         |  4 ++--
 .../main/java/org/apache/hudi/QuickstartUtils.java |  4 ++--
 .../java/org/apache/hudi/client/TestBootstrap.java | 20 ++++++++--------
 .../functional/TestHDFSParquetImporter.java        | 12 +++++-----
 .../delta-streamer-config/source-flattened.avsc    |  2 +-
 .../resources/delta-streamer-config/source.avsc    |  2 +-
 .../source_short_trip_uber.avsc                    |  2 +-
 .../delta-streamer-config/source_uber.avsc         |  2 +-
 .../delta-streamer-config/target-flattened.avsc    |  2 +-
 .../resources/delta-streamer-config/target.avsc    |  2 +-
 .../target_short_trip_uber.avsc                    |  2 +-
 .../delta-streamer-config/target_uber.avsc         |  2 +-
 18 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/docker/demo/config/test-suite/target.avsc 
b/docker/demo/config/test-suite/target.avsc
index 11e23a4..29a2500 100644
--- a/docker/demo/config/test-suite/target.avsc
+++ b/docker/demo/config/test-suite/target.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
diff --git 
a/hudi-cli/src/test/java/org/apache/hudi/cli/integ/ITTestBootstrapCommand.java 
b/hudi-cli/src/test/java/org/apache/hudi/cli/integ/ITTestBootstrapCommand.java
index 7ac1d61..0cb278e 100644
--- 
a/hudi-cli/src/test/java/org/apache/hudi/cli/integ/ITTestBootstrapCommand.java
+++ 
b/hudi-cli/src/test/java/org/apache/hudi/cli/integ/ITTestBootstrapCommand.java
@@ -64,7 +64,7 @@ public class ITTestBootstrapCommand extends 
AbstractShellIntegrationTest {
 
     // generate test data
     partitions = Arrays.asList("2018", "2019", "2020");
-    double timestamp = new Double(Instant.now().toEpochMilli()).longValue();
+    long timestamp = Instant.now().toEpochMilli();
     for (int i = 0; i < partitions.size(); i++) {
       Dataset<Row> df = TestBootstrap.generateTestRawTripDataset(timestamp,
           i * NUM_OF_RECORDS, i * NUM_OF_RECORDS + NUM_OF_RECORDS, null, jsc, 
sqlContext);
diff --git 
a/hudi-cli/src/test/java/org/apache/hudi/cli/integ/ITTestHDFSParquetImportCommand.java
 
b/hudi-cli/src/test/java/org/apache/hudi/cli/integ/ITTestHDFSParquetImportCommand.java
index f68b59c..17b997a 100644
--- 
a/hudi-cli/src/test/java/org/apache/hudi/cli/integ/ITTestHDFSParquetImportCommand.java
+++ 
b/hudi-cli/src/test/java/org/apache/hudi/cli/integ/ITTestHDFSParquetImportCommand.java
@@ -163,12 +163,12 @@ public class ITTestHDFSParquetImportCommand extends 
AbstractShellIntegrationTest
 
     List<Row> readData = ds.select("timestamp", "_row_key", "rider", "driver", 
"begin_lat", "begin_lon", "end_lat", "end_lon").collectAsList();
     List<HoodieTripModel> result = readData.stream().map(row ->
-        new HoodieTripModel(row.getDouble(0), row.getString(1), 
row.getString(2), row.getString(3), row.getDouble(4),
+        new HoodieTripModel(row.getLong(0), row.getString(1), 
row.getString(2), row.getString(3), row.getDouble(4),
             row.getDouble(5), row.getDouble(6), row.getDouble(7)))
         .collect(Collectors.toList());
 
     List<HoodieTripModel> expected = expectData.stream().map(g ->
-        new HoodieTripModel(Double.parseDouble(g.get("timestamp").toString()),
+        new HoodieTripModel(Long.parseLong(g.get("timestamp").toString()),
             g.get("_row_key").toString(),
             g.get("rider").toString(),
             g.get("driver").toString(),
diff --git 
a/hudi-client/src/test/java/org/apache/hudi/table/action/commit/TestCopyOnWriteActionExecutor.java
 
b/hudi-client/src/test/java/org/apache/hudi/table/action/commit/TestCopyOnWriteActionExecutor.java
index 564ed08..0e115d0 100644
--- 
a/hudi-client/src/test/java/org/apache/hudi/table/action/commit/TestCopyOnWriteActionExecutor.java
+++ 
b/hudi-client/src/test/java/org/apache/hudi/table/action/commit/TestCopyOnWriteActionExecutor.java
@@ -401,7 +401,8 @@ public class TestCopyOnWriteActionExecutor extends 
HoodieClientTestBase {
 
   @Test
   public void testInsertUpsertWithHoodieAvroPayload() throws Exception {
-    HoodieWriteConfig config = makeHoodieClientConfigBuilder()
+    Schema schema = getSchemaFromResource(TestCopyOnWriteActionExecutor.class, 
"/testDataGeneratorSchema.txt");
+    HoodieWriteConfig config = 
HoodieWriteConfig.newBuilder().withPath(basePath).withSchema(schema.toString())
             .withStorageConfig(HoodieStorageConfig.newBuilder()
                 .parquetMaxFileSize(1000 * 1024).hfileMaxFileSize(1000 * 
1024).build()).build();
     metaClient = HoodieTableMetaClient.reload(metaClient);
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/source.avsc 
b/hudi-client/src/test/resources/testDataGeneratorSchema.txt
similarity index 99%
copy from hudi-utilities/src/test/resources/delta-streamer-config/source.avsc
copy to hudi-client/src/test/resources/testDataGeneratorSchema.txt
index e912573..ada01b3 100644
--- a/hudi-utilities/src/test/resources/delta-streamer-config/source.avsc
+++ b/hudi-client/src/test/resources/testDataGeneratorSchema.txt
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
@@ -126,4 +126,3 @@
     "default" : false
   } ]
 }
-
diff --git 
a/hudi-common/src/test/java/org/apache/hudi/common/testutils/HoodieTestDataGenerator.java
 
b/hudi-common/src/test/java/org/apache/hudi/common/testutils/HoodieTestDataGenerator.java
index 90b15d0..68b66b0 100644
--- 
a/hudi-common/src/test/java/org/apache/hudi/common/testutils/HoodieTestDataGenerator.java
+++ 
b/hudi-common/src/test/java/org/apache/hudi/common/testutils/HoodieTestDataGenerator.java
@@ -89,7 +89,7 @@ public class HoodieTestDataGenerator {
       {DEFAULT_FIRST_PARTITION_PATH, DEFAULT_SECOND_PARTITION_PATH, 
DEFAULT_THIRD_PARTITION_PATH};
   public static final int DEFAULT_PARTITION_DEPTH = 3;
   public static final String TRIP_SCHEMA_PREFIX = "{\"type\": \"record\"," + 
"\"name\": \"triprec\"," + "\"fields\": [ "
-      + "{\"name\": \"timestamp\",\"type\": \"double\"}," + "{\"name\": 
\"_row_key\", \"type\": \"string\"},"
+      + "{\"name\": \"timestamp\",\"type\": \"long\"}," + "{\"name\": 
\"_row_key\", \"type\": \"string\"},"
       + "{\"name\": \"rider\", \"type\": \"string\"}," + "{\"name\": 
\"driver\", \"type\": \"string\"},"
       + "{\"name\": \"begin_lat\", \"type\": \"double\"}," + "{\"name\": 
\"begin_lon\", \"type\": \"double\"},"
       + "{\"name\": \"end_lat\", \"type\": \"double\"}," + "{\"name\": 
\"end_lon\", \"type\": \"double\"},";
@@ -116,14 +116,14 @@ public class HoodieTestDataGenerator {
       TRIP_SCHEMA_PREFIX + FARE_FLATTENED_SCHEMA + TRIP_SCHEMA_SUFFIX;
 
   public static final String TRIP_SCHEMA = 
"{\"type\":\"record\",\"name\":\"tripUberRec\",\"fields\":["
-      + 
"{\"name\":\"timestamp\",\"type\":\"double\"},{\"name\":\"_row_key\",\"type\":\"string\"},{\"name\":\"rider\",\"type\":\"string\"},"
+      + 
"{\"name\":\"timestamp\",\"type\":\"long\"},{\"name\":\"_row_key\",\"type\":\"string\"},{\"name\":\"rider\",\"type\":\"string\"},"
       + 
"{\"name\":\"driver\",\"type\":\"string\"},{\"name\":\"fare\",\"type\":\"double\"},{\"name\":
 \"_hoodie_is_deleted\", \"type\": \"boolean\", \"default\": false}]}";
   public static final String SHORT_TRIP_SCHEMA = 
"{\"type\":\"record\",\"name\":\"shortTripRec\",\"fields\":["
-      + 
"{\"name\":\"timestamp\",\"type\":\"double\"},{\"name\":\"_row_key\",\"type\":\"string\"},{\"name\":\"rider\",\"type\":\"string\"},"
+      + 
"{\"name\":\"timestamp\",\"type\":\"long\"},{\"name\":\"_row_key\",\"type\":\"string\"},{\"name\":\"rider\",\"type\":\"string\"},"
       + 
"{\"name\":\"driver\",\"type\":\"string\"},{\"name\":\"fare\",\"type\":\"double\"},{\"name\":
 \"_hoodie_is_deleted\", \"type\": \"boolean\", \"default\": false}]}";
 
   public static final String NULL_SCHEMA = 
Schema.create(Schema.Type.NULL).toString();
-  public static final String TRIP_HIVE_COLUMN_TYPES = 
"double,string,string,string,double,double,double,double,int,bigint,float,binary,int,bigint,decimal(10,6),"
+  public static final String TRIP_HIVE_COLUMN_TYPES = 
"bigint,string,string,string,double,double,double,double,int,bigint,float,binary,int,bigint,decimal(10,6),"
       + 
"map<string,string>,struct<amount:double,currency:string>,array<struct<amount:double,currency:string>>,boolean";
 
 
@@ -204,7 +204,7 @@ public class HoodieTestDataGenerator {
   public static RawTripTestPayload generateRandomValue(
       HoodieKey key, String instantTime, boolean isFlattened) throws 
IOException {
     GenericRecord rec = generateGenericRecord(
-        key.getRecordKey(), "rider-" + instantTime, "driver-" + instantTime, 
0.0,
+        key.getRecordKey(), "rider-" + instantTime, "driver-" + instantTime, 0,
         false, isFlattened);
     return new RawTripTestPayload(rec.toString(), key.getRecordKey(), 
key.getPartitionPath(), TRIP_EXAMPLE_SCHEMA);
   }
@@ -213,12 +213,12 @@ public class HoodieTestDataGenerator {
    * Generates a new avro record with TRIP_SCHEMA, retaining the key if 
optionally provided.
    */
   public RawTripTestPayload generatePayloadForTripSchema(HoodieKey key, String 
commitTime) throws IOException {
-    GenericRecord rec = generateRecordForTripSchema(key.getRecordKey(), 
"rider-" + commitTime, "driver-" + commitTime, 0.0);
+    GenericRecord rec = generateRecordForTripSchema(key.getRecordKey(), 
"rider-" + commitTime, "driver-" + commitTime, 0);
     return new RawTripTestPayload(rec.toString(), key.getRecordKey(), 
key.getPartitionPath(), TRIP_SCHEMA);
   }
 
   public RawTripTestPayload generatePayloadForShortTripSchema(HoodieKey key, 
String commitTime) throws IOException {
-    GenericRecord rec = generateRecordForShortTripSchema(key.getRecordKey(), 
"rider-" + commitTime, "driver-" + commitTime, 0.0);
+    GenericRecord rec = generateRecordForShortTripSchema(key.getRecordKey(), 
"rider-" + commitTime, "driver-" + commitTime, 0);
     return new RawTripTestPayload(rec.toString(), key.getRecordKey(), 
key.getPartitionPath(), SHORT_TRIP_SCHEMA);
   }
 
@@ -226,7 +226,7 @@ public class HoodieTestDataGenerator {
    * Generates a new avro record of the above schema format for a delete.
    */
   public static RawTripTestPayload generateRandomDeleteValue(HoodieKey key, 
String instantTime) throws IOException {
-    GenericRecord rec = generateGenericRecord(key.getRecordKey(), "rider-" + 
instantTime, "driver-" + instantTime, 0.0,
+    GenericRecord rec = generateGenericRecord(key.getRecordKey(), "rider-" + 
instantTime, "driver-" + instantTime, 0,
         true, false);
     return new RawTripTestPayload(Option.of(rec.toString()), 
key.getRecordKey(), key.getPartitionPath(), TRIP_EXAMPLE_SCHEMA, true);
   }
@@ -235,17 +235,17 @@ public class HoodieTestDataGenerator {
    * Generates a new avro record of the above schema format, retaining the key 
if optionally provided.
    */
   public static HoodieAvroPayload generateAvroPayload(HoodieKey key, String 
instantTime) {
-    GenericRecord rec = generateGenericRecord(key.getRecordKey(), "rider-" + 
instantTime, "driver-" + instantTime, 0.0);
+    GenericRecord rec = generateGenericRecord(key.getRecordKey(), "rider-" + 
instantTime, "driver-" + instantTime, 0);
     return new HoodieAvroPayload(Option.of(rec));
   }
 
   public static GenericRecord generateGenericRecord(String rowKey, String 
riderName, String driverName,
-                                                    double timestamp) {
+                                                    long timestamp) {
     return generateGenericRecord(rowKey, riderName, driverName, timestamp, 
false, false);
   }
 
   public static GenericRecord generateGenericRecord(String rowKey, String 
riderName, String driverName,
-                                                    double timestamp, boolean 
isDeleteRecord,
+                                                    long timestamp, boolean 
isDeleteRecord,
                                                     boolean isFlattened) {
     GenericRecord rec = new GenericData.Record(isFlattened ? 
FLATTENED_AVRO_SCHEMA : AVRO_SCHEMA);
     rec.put("_row_key", rowKey);
@@ -303,7 +303,7 @@ public class HoodieTestDataGenerator {
   /*
   Generate random record using TRIP_SCHEMA
    */
-  public GenericRecord generateRecordForTripSchema(String rowKey, String 
riderName, String driverName, double timestamp) {
+  public GenericRecord generateRecordForTripSchema(String rowKey, String 
riderName, String driverName, long timestamp) {
     GenericRecord rec = new GenericData.Record(AVRO_TRIP_SCHEMA);
     rec.put("_row_key", rowKey);
     rec.put("timestamp", timestamp);
@@ -314,7 +314,7 @@ public class HoodieTestDataGenerator {
     return rec;
   }
 
-  public GenericRecord generateRecordForShortTripSchema(String rowKey, String 
riderName, String driverName, double timestamp) {
+  public GenericRecord generateRecordForShortTripSchema(String rowKey, String 
riderName, String driverName, long timestamp) {
     GenericRecord rec = new GenericData.Record(AVRO_SHORT_TRIP_SCHEMA);
     rec.put("_row_key", rowKey);
     rec.put("timestamp", timestamp);
@@ -780,7 +780,7 @@ public class HoodieTestDataGenerator {
     List<GenericRecord> list = new ArrayList<>();
     IntStream.range(0, numRecords).forEach(i -> {
       list.add(generateGenericRecord(UUID.randomUUID().toString(), 
UUID.randomUUID().toString(), UUID.randomUUID()
-          .toString(), RAND.nextDouble()));
+          .toString(), RAND.nextLong()));
     });
     return list;
   }
diff --git 
a/hudi-examples/src/main/java/org/apache/hudi/examples/common/HoodieExampleDataGenerator.java
 
b/hudi-examples/src/main/java/org/apache/hudi/examples/common/HoodieExampleDataGenerator.java
index a9847ec..4a9868b 100644
--- 
a/hudi-examples/src/main/java/org/apache/hudi/examples/common/HoodieExampleDataGenerator.java
+++ 
b/hudi-examples/src/main/java/org/apache/hudi/examples/common/HoodieExampleDataGenerator.java
@@ -86,12 +86,12 @@ public class HoodieExampleDataGenerator<T extends 
HoodieRecordPayload<T>> {
    */
   @SuppressWarnings("unchecked")
   public T generateRandomValue(HoodieKey key, String commitTime) {
-    GenericRecord rec = generateGenericRecord(key.getRecordKey(), "rider-" + 
commitTime, "driver-" + commitTime, 0.0);
+    GenericRecord rec = generateGenericRecord(key.getRecordKey(), "rider-" + 
commitTime, "driver-" + commitTime, 0);
     return (T) new HoodieAvroPayload(Option.of(rec));
   }
 
   public GenericRecord generateGenericRecord(String rowKey, String riderName, 
String driverName,
-                                             double timestamp) {
+                                             long timestamp) {
     GenericRecord rec = new GenericData.Record(avroSchema);
     rec.put("uuid", rowKey);
     rec.put("ts", timestamp);
diff --git a/hudi-spark/src/main/java/org/apache/hudi/QuickstartUtils.java 
b/hudi-spark/src/main/java/org/apache/hudi/QuickstartUtils.java
index 513bb59..b074a82 100644
--- a/hudi-spark/src/main/java/org/apache/hudi/QuickstartUtils.java
+++ b/hudi-spark/src/main/java/org/apache/hudi/QuickstartUtils.java
@@ -95,7 +95,7 @@ public class QuickstartUtils {
     }
 
     public static GenericRecord generateGenericRecord(String rowKey, String 
riderName, String driverName,
-        double timestamp) {
+        long timestamp) {
       GenericRecord rec = new GenericData.Record(avroSchema);
       rec.put("uuid", rowKey);
       rec.put("ts", timestamp);
@@ -118,7 +118,7 @@ public class QuickstartUtils {
     public static OverwriteWithLatestAvroPayload generateRandomValue(HoodieKey 
key, String riderDriverSuffix)
         throws IOException {
       GenericRecord rec =
-          generateGenericRecord(key.getRecordKey(), "rider-" + 
riderDriverSuffix, "driver-" + riderDriverSuffix, 0.0);
+          generateGenericRecord(key.getRecordKey(), "rider-" + 
riderDriverSuffix, "driver-" + riderDriverSuffix, 0);
       return new OverwriteWithLatestAvroPayload(Option.of(rec));
     }
 
diff --git a/hudi-spark/src/test/java/org/apache/hudi/client/TestBootstrap.java 
b/hudi-spark/src/test/java/org/apache/hudi/client/TestBootstrap.java
index 1c31ed5..ad42443 100644
--- a/hudi-spark/src/test/java/org/apache/hudi/client/TestBootstrap.java
+++ b/hudi-spark/src/test/java/org/apache/hudi/client/TestBootstrap.java
@@ -53,7 +53,7 @@ import org.apache.avro.generic.GenericRecord;
 import org.apache.hadoop.fs.Path;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.mapred.JobConf;
-import org.apache.hadoop.io.DoubleWritable;
+import org.apache.hadoop.io.LongWritable;
 import org.apache.hudi.index.HoodieIndex.IndexType;
 import org.apache.hudi.keygen.NonpartitionedKeyGenerator;
 import org.apache.hudi.keygen.SimpleKeyGenerator;
@@ -111,7 +111,7 @@ import static org.apache.spark.sql.functions.callUDF;
  */
 public class TestBootstrap extends HoodieClientTestBase {
 
-  public static final String TRIP_HIVE_COLUMN_TYPES = 
"double,string,string,string,double,double,double,double,"
+  public static final String TRIP_HIVE_COLUMN_TYPES = 
"bigint,string,string,string,double,double,double,double,"
       + 
"struct<amount:double,currency:string>,array<struct<amount:double,currency:string>>,boolean";
 
   @TempDir
@@ -155,7 +155,7 @@ public class TestBootstrap extends HoodieClientTestBase {
     rtInputFormat.setConf(rtJobConf);
   }
 
-  public Schema generateNewDataSetAndReturnSchema(double timestamp, int 
numRecords, List<String> partitionPaths,
+  public Schema generateNewDataSetAndReturnSchema(long timestamp, int 
numRecords, List<String> partitionPaths,
       String srcPath) throws Exception {
     boolean isPartitioned = partitionPaths != null && 
!partitionPaths.isEmpty();
     Dataset<Row> df = generateTestRawTripDataset(timestamp, 0, numRecords, 
partitionPaths, jsc, sqlContext);
@@ -234,7 +234,7 @@ public class TestBootstrap extends HoodieClientTestBase {
         break;
     }
     List<String> partitions = Arrays.asList("2020/04/01", "2020/04/02", 
"2020/04/03");
-    double timestamp = new Double(Instant.now().toEpochMilli()).longValue();
+    long timestamp = Instant.now().toEpochMilli();
     Schema schema = generateNewDataSetAndReturnSchema(timestamp, totalRecords, 
partitions, bootstrapBasePath);
     HoodieWriteConfig config = getConfigBuilder(schema.toString())
         .withAutoCommit(true)
@@ -282,7 +282,7 @@ public class TestBootstrap extends HoodieClientTestBase {
         numInstantsAfterBootstrap, timestamp, timestamp, deltaCommit, 
bootstrapInstants);
 
     // Upsert case
-    double updateTimestamp = new 
Double(Instant.now().toEpochMilli()).longValue();
+    long updateTimestamp = Instant.now().toEpochMilli();
     String updateSPath = tmpFolder.toAbsolutePath().toString() + "/data2";
     generateNewDataSetAndReturnSchema(updateTimestamp, totalRecords, 
partitions, updateSPath);
     JavaRDD<HoodieRecord> updateBatch =
@@ -329,13 +329,13 @@ public class TestBootstrap extends HoodieClientTestBase {
   }
 
   private void checkBootstrapResults(int totalRecords, Schema schema, String 
maxInstant, boolean checkNumRawFiles,
-      int expNumInstants, double expTimestamp, double expROTimestamp, boolean 
isDeltaCommit) throws Exception {
+      int expNumInstants, long expTimestamp, long expROTimestamp, boolean 
isDeltaCommit) throws Exception {
     checkBootstrapResults(totalRecords, schema, maxInstant, checkNumRawFiles, 
expNumInstants, expNumInstants,
         expTimestamp, expROTimestamp, isDeltaCommit, 
Arrays.asList(maxInstant));
   }
 
   private void checkBootstrapResults(int totalRecords, Schema schema, String 
instant, boolean checkNumRawFiles,
-      int expNumInstants, int numVersions, double expTimestamp, double 
expROTimestamp, boolean isDeltaCommit,
+      int expNumInstants, int numVersions, long expTimestamp, long 
expROTimestamp, boolean isDeltaCommit,
       List<String> instantsWithValidRecords) throws Exception {
     metaClient.reloadActiveTimeline();
     assertEquals(expNumInstants, 
metaClient.getCommitsTimeline().filterCompletedInstants().countInstants());
@@ -378,7 +378,7 @@ public class TestBootstrap extends HoodieClientTestBase {
     Set<String> seenKeys = new HashSet<>();
     for (GenericRecord r : records) {
       assertEquals(r.get("_row_key").toString(), 
r.get("_hoodie_record_key").toString(), "Record :" + r);
-      assertEquals(expROTimestamp, ((DoubleWritable)r.get("timestamp")).get(), 
0.1, "Record :" + r);
+      assertEquals(expROTimestamp, ((LongWritable)r.get("timestamp")).get(), 
0.1, "Record :" + r);
       assertFalse(seenKeys.contains(r.get("_hoodie_record_key").toString()));
       seenKeys.add(r.get("_hoodie_record_key").toString());
     }
@@ -395,7 +395,7 @@ public class TestBootstrap extends HoodieClientTestBase {
     assertEquals(totalRecords, records.size());
     for (GenericRecord r : records) {
       assertEquals(r.get("_row_key").toString(), 
r.get("_hoodie_record_key").toString(), "Realtime Record :" + r);
-      assertEquals(expTimestamp, 
((DoubleWritable)r.get("timestamp")).get(),0.1, "Realtime Record :" + r);
+      assertEquals(expTimestamp, ((LongWritable)r.get("timestamp")).get(),0.1, 
"Realtime Record :" + r);
       assertFalse(seenKeys.contains(r.get("_hoodie_record_key").toString()));
       seenKeys.add(r.get("_hoodie_record_key").toString());
     }
@@ -550,7 +550,7 @@ public class TestBootstrap extends HoodieClientTestBase {
     return builder;
   }
 
-  public static Dataset<Row> generateTestRawTripDataset(double timestamp, int 
from, int to, List<String> partitionPaths,
+  public static Dataset<Row> generateTestRawTripDataset(long timestamp, int 
from, int to, List<String> partitionPaths,
                                                         JavaSparkContext jsc, 
SQLContext sqlContext) {
     boolean isPartitioned = partitionPaths != null && 
!partitionPaths.isEmpty();
     final List<String> records = new ArrayList<>();
diff --git 
a/hudi-utilities/src/test/java/org/apache/hudi/utilities/functional/TestHDFSParquetImporter.java
 
b/hudi-utilities/src/test/java/org/apache/hudi/utilities/functional/TestHDFSParquetImporter.java
index 414cfb8..1fe6800 100644
--- 
a/hudi-utilities/src/test/java/org/apache/hudi/utilities/functional/TestHDFSParquetImporter.java
+++ 
b/hudi-utilities/src/test/java/org/apache/hudi/utilities/functional/TestHDFSParquetImporter.java
@@ -160,12 +160,12 @@ public class TestHDFSParquetImporter extends 
FunctionalTestHarness implements Se
 
     List<Row> readData = ds.select("timestamp", "_row_key", "rider", "driver", 
"begin_lat", "begin_lon", "end_lat", "end_lon").collectAsList();
     List<HoodieTripModel> result = readData.stream().map(row ->
-        new HoodieTripModel(row.getDouble(0), row.getString(1), 
row.getString(2), row.getString(3), row.getDouble(4),
+        new HoodieTripModel(row.getLong(0), row.getString(1), 
row.getString(2), row.getString(3), row.getDouble(4),
             row.getDouble(5), row.getDouble(6), row.getDouble(7)))
         .collect(Collectors.toList());
 
     List<HoodieTripModel> expected = insertData.stream().map(g ->
-        new HoodieTripModel(Double.parseDouble(g.get("timestamp").toString()),
+        new HoodieTripModel(Long.parseLong(g.get("timestamp").toString()),
             g.get("_row_key").toString(),
             g.get("rider").toString(),
             g.get("driver").toString(),
@@ -207,13 +207,13 @@ public class TestHDFSParquetImporter extends 
FunctionalTestHarness implements Se
 
     List<Row> readData = ds.select("timestamp", "_row_key", "rider", "driver", 
"begin_lat", "begin_lon", "end_lat", "end_lon").collectAsList();
     List<HoodieTripModel> result = readData.stream().map(row ->
-        new HoodieTripModel(row.getDouble(0), row.getString(1), 
row.getString(2), row.getString(3), row.getDouble(4),
+        new HoodieTripModel(row.getLong(0), row.getString(1), 
row.getString(2), row.getString(3), row.getDouble(4),
             row.getDouble(5), row.getDouble(6), row.getDouble(7)))
         .collect(Collectors.toList());
 
     // get expected result.
     List<HoodieTripModel> expected = expectData.stream().map(g ->
-        new HoodieTripModel(Double.parseDouble(g.get("timestamp").toString()),
+        new HoodieTripModel(Long.parseLong(g.get("timestamp").toString()),
             g.get("_row_key").toString(),
             g.get("rider").toString(),
             g.get("driver").toString(),
@@ -336,7 +336,7 @@ public class TestHDFSParquetImporter extends 
FunctionalTestHarness implements Se
    */
   public static class HoodieTripModel {
 
-    double timestamp;
+    long timestamp;
     String rowKey;
     String rider;
     String driver;
@@ -345,7 +345,7 @@ public class TestHDFSParquetImporter extends 
FunctionalTestHarness implements Se
     double endLat;
     double endLon;
 
-    public HoodieTripModel(double timestamp, String rowKey, String rider, 
String driver, double beginLat,
+    public HoodieTripModel(long timestamp, String rowKey, String rider, String 
driver, double beginLat,
         double beginLon, double endLat, double endLon) {
       this.timestamp = timestamp;
       this.rowKey = rowKey;
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/source-flattened.avsc 
b/hudi-utilities/src/test/resources/delta-streamer-config/source-flattened.avsc
index ed3a7be..7b3ee50 100644
--- 
a/hudi-utilities/src/test/resources/delta-streamer-config/source-flattened.avsc
+++ 
b/hudi-utilities/src/test/resources/delta-streamer-config/source-flattened.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/source.avsc 
b/hudi-utilities/src/test/resources/delta-streamer-config/source.avsc
index e912573..4b4beb3 100644
--- a/hudi-utilities/src/test/resources/delta-streamer-config/source.avsc
+++ b/hudi-utilities/src/test/resources/delta-streamer-config/source.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/source_short_trip_uber.avsc
 
b/hudi-utilities/src/test/resources/delta-streamer-config/source_short_trip_uber.avsc
index 8a589bd..f0c6098 100644
--- 
a/hudi-utilities/src/test/resources/delta-streamer-config/source_short_trip_uber.avsc
+++ 
b/hudi-utilities/src/test/resources/delta-streamer-config/source_short_trip_uber.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/source_uber.avsc 
b/hudi-utilities/src/test/resources/delta-streamer-config/source_uber.avsc
index 324862e..4d52489 100644
--- a/hudi-utilities/src/test/resources/delta-streamer-config/source_uber.avsc
+++ b/hudi-utilities/src/test/resources/delta-streamer-config/source_uber.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/target-flattened.avsc 
b/hudi-utilities/src/test/resources/delta-streamer-config/target-flattened.avsc
index 4e9e4af..dcea4cb 100644
--- 
a/hudi-utilities/src/test/resources/delta-streamer-config/target-flattened.avsc
+++ 
b/hudi-utilities/src/test/resources/delta-streamer-config/target-flattened.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/target.avsc 
b/hudi-utilities/src/test/resources/delta-streamer-config/target.avsc
index a6234f4..4252b7e 100644
--- a/hudi-utilities/src/test/resources/delta-streamer-config/target.avsc
+++ b/hudi-utilities/src/test/resources/delta-streamer-config/target.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/target_short_trip_uber.avsc
 
b/hudi-utilities/src/test/resources/delta-streamer-config/target_short_trip_uber.avsc
index 8a589bd..f0c6098 100644
--- 
a/hudi-utilities/src/test/resources/delta-streamer-config/target_short_trip_uber.avsc
+++ 
b/hudi-utilities/src/test/resources/delta-streamer-config/target_short_trip_uber.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"
diff --git 
a/hudi-utilities/src/test/resources/delta-streamer-config/target_uber.avsc 
b/hudi-utilities/src/test/resources/delta-streamer-config/target_uber.avsc
index 324862e..4d52489 100644
--- a/hudi-utilities/src/test/resources/delta-streamer-config/target_uber.avsc
+++ b/hudi-utilities/src/test/resources/delta-streamer-config/target_uber.avsc
@@ -21,7 +21,7 @@
   "fields" : [
   {
     "name" : "timestamp",
-    "type" : "double"
+    "type" : "long"
   }, {
     "name" : "_row_key",
     "type" : "string"

Reply via email to