Skip to content

Conversation

@viirya
Copy link
Member

@viirya viirya commented May 7, 2015

@SparkQA
Copy link

SparkQA commented May 7, 2015

Test build #32127 has finished for PR 5984 at commit 4c07b57.

  • This patch fails Scala style tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented May 7, 2015

Test build #32129 has finished for PR 5984 at commit e42a809.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented May 7, 2015

Test build #32136 has finished for PR 5984 at commit fcf8db9.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
    • sealed trait LDAOptimizer
    • final class EMLDAOptimizer extends LDAOptimizer
    • final class OnlineLDAOptimizer extends LDAOptimizer

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super minor style nit, but I think the braces here should be on separate lines, like how setDate is defined below.

@SparkQA
Copy link

SparkQA commented May 8, 2015

Test build #32242 has finished for PR 5984 at commit 752251f.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@viirya
Copy link
Member Author

viirya commented May 21, 2015

@JoshRosen Any more comments or thoughts?

@JoshRosen
Copy link
Contributor

Let me take another look in a little bit. There's been a bit of debate over whether we want to commit to supporting 128-bit timestamps in Tungsten or restrict their precision to 64 bits. The decision that we make for 1.4 may not have to be final, though, since this is an experimental feature that's off by default. Since this patch seems like a clear improvement to the current code and since we'll have the flexibility to change this later, I'm inclined to merge this for 1.4.0 and address the timestamp questions in more detail for 1.5.0.

@JoshRosen
Copy link
Contributor

Jenkins, retest this please.

@SparkQA
Copy link

SparkQA commented May 21, 2015

Test build #33287 has finished for PR 5984 at commit 752251f.

  • This patch fails to build.
  • This patch merges cleanly.
  • This patch adds no public classes.

@JoshRosen
Copy link
Contributor

Hmm, looks like DateUtils was moved or something?

@marmbrus
Copy link
Contributor

Yes, @rxin moved it since we want to keep internal utilities out of public packages.

@viirya
Copy link
Member Author

viirya commented May 22, 2015

@JoshRosen I've updated for moved DateUtils.

@SparkQA
Copy link

SparkQA commented May 22, 2015

Test build #33323 has finished for PR 5984 at commit 46946c6.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@JoshRosen
Copy link
Contributor

Jenkins, retest this please.

@JoshRosen
Copy link
Contributor

LGTM pending Jenkins. Once the tests pass, I'll pull this in so that it doesn't become conflicted again.

@SparkQA
Copy link

SparkQA commented May 26, 2015

Test build #33483 has finished for PR 5984 at commit 46946c6.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@viirya
Copy link
Member Author

viirya commented Jun 4, 2015

ping @JoshRosen

@JoshRosen
Copy link
Contributor

/ping @davies, can you take a look at this? I almost merged it but was worried about causing a conflict with your code gen patch.

@davies
Copy link
Contributor

davies commented Jun 8, 2015

@viirya getString/getDate/getTimestamp are public interfaces of Row, they are expensive so they should not be used internally. UnsafeRow and codegen both are internal things, so I think they don't need them at all. Could you remove these changes from this PR?

@viirya
Copy link
Member Author

viirya commented Jun 9, 2015

@davies But I think this PR is just intended to add date and timestamp support (setter/getter) to UnsafeRow?

@davies
Copy link
Contributor

davies commented Jun 9, 2015

@viirya Yes, but we didn't need getDate/getTimestamp in catalyst, just get(ordinal) is enough for them.

@SparkQA
Copy link

SparkQA commented Jun 13, 2015

Test build #34825 has finished for PR 5984 at commit fb532b5.

  • This patch fails Scala style tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Jun 13, 2015

Test build #34826 has finished for PR 5984 at commit 281e844.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@JoshRosen
Copy link
Contributor

@davies, has this latest set of changes addressed your comments regarding get / set methods in codegen? Just want to make sure that we haven't overlooked that and wanted to ping you since you're more familiar me with the considerations there.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should use target.setInt(column, source.getInt(column))

@davies
Copy link
Contributor

davies commented Jun 13, 2015

@JoshRosen Now we had separate Row and InternalRow, Row is a public interface, which has getDate/getTimestamp, but InternalRow only has Int for DateType and Long for TimestampType, InternalRow will not have getDate/setDate/getTimestamp/setTimestamp anymore. Inside catalyst, it only see Int and Long, no Date or Timestamp object.

@davies
Copy link
Contributor

davies commented Jun 13, 2015

If it's still not clear yet, I could send a small PR to show how to support it in UnsafeRow.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since timestamps are now represented as longs, we can support updates to timestamps, so we can move this into the settableFieldTypes list.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. I will update this later.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ping

@viirya
Copy link
Member Author

viirya commented Jun 14, 2015

@davies It is very clear. Thanks.

@viirya
Copy link
Member Author

viirya commented Jun 16, 2015

@davies @JoshRosen I updated this. Please take a look when you are available. Thanks.

@SparkQA
Copy link

SparkQA commented Jun 16, 2015

Test build #34993 has finished for PR 5984 at commit 672ef17.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible that we just use IntUnsafeColumnWriter for DateType? same to TimestampType

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. Updated now.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove the last comma

@davies
Copy link
Contributor

davies commented Jun 17, 2015

Once address the last comment, this looks good to me, thanks!

@SparkQA
Copy link

SparkQA commented Jun 17, 2015

Test build #35018 has finished for PR 5984 at commit 0b89698.

  • This patch fails PySpark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@SparkQA
Copy link

SparkQA commented Jun 17, 2015

Test build #35029 has finished for PR 5984 at commit 7f21ce9.

  • This patch fails PySpark unit tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@viirya
Copy link
Member Author

viirya commented Jun 17, 2015

Looks like an unrelated test failure.

@viirya
Copy link
Member Author

viirya commented Jun 17, 2015

retest this please.

@SparkQA
Copy link

SparkQA commented Jun 17, 2015

Test build #35040 has finished for PR 5984 at commit 7f21ce9.

  • This patch passes all tests.
  • This patch merges cleanly.
  • This patch adds no public classes.

@davies
Copy link
Contributor

davies commented Jun 17, 2015

LGTM, merging this into master!

@asfgit asfgit closed this in 104f30c Jun 17, 2015
nemccarthy pushed a commit to nemccarthy/spark that referenced this pull request Jun 19, 2015
JIRA: https://issues.apache.org/jira/browse/SPARK-7199

Author: Liang-Chi Hsieh <[email protected]>

Closes apache#5984 from viirya/add_date_timestamp and squashes the following commits:

7f21ce9 [Liang-Chi Hsieh] For comment.
0b89698 [Liang-Chi Hsieh] Add timestamp to settableFieldTypes.
c30d490 [Liang-Chi Hsieh] Use default IntUnsafeColumnWriter and LongUnsafeColumnWriter.
672ef17 [Liang-Chi Hsieh] Remove getter/setter for Date and Timestamp and use Int and Long for them.
9f3e577 [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into add_date_timestamp
281e844 [Liang-Chi Hsieh] Fix scala style.
fb532b5 [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into add_date_timestamp
80af342 [Liang-Chi Hsieh] Fix compiling error.
f4f5de6 [Liang-Chi Hsieh] Fix scala style.
a463e83 [Liang-Chi Hsieh] Use Long to store timestamp for rows.
635388a [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into add_date_timestamp
46946c6 [Liang-Chi Hsieh] Adapt for moved DateUtils.
b16994e [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into add_date_timestamp
752251f [Liang-Chi Hsieh] Support setDate. Fix failed test.
fcf8db9 [Liang-Chi Hsieh] Add functions for Date and Timestamp to SpecificRow.
e42a809 [Liang-Chi Hsieh] Fix style.
4c07b57 [Liang-Chi Hsieh] Add date and timestamp support to UnsafeRow.
@viirya viirya deleted the add_date_timestamp branch December 27, 2023 18:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants