小编Mig*_*l-F的帖子

Hive:向现有表添加行

我打算用hadoop和hive来解决以下问题:

我有一个数据流,比如表示给定时间戳的测量温度的形式(时间戳,温度).我需要每天计算一些聚合(例如最大值).聚合需要每天计算一次(例如在午夜).

我想到以某种方式加载数据到hive,按日期划分它.但是,有一个问题 - 流中的数据不需要按时间戳排序,我收到延迟记录:记录甚至可能比它应该晚几天到达.在这种情况下,在生成常用聚合时,我还需要计算包含该时间戳的日期的聚合.

直觉上,我想将后期记录添加到配置单元表中的相应分区.是否可以在不重新加载整个分区的情况下执行此操作?(重新加载分区是一项代价高昂的操作吗?)

hadoop hive

5
推荐指数
1
解决办法
1353
查看次数

在Windows 7 64bit上运行的Android Studio失败

我已经在Windows 7 64bit上成功安装了Android Studio,但是当我启动它时,它不起作用并且什么都不显示.然后我将pause命令附加到studio.bat的末尾.

当我通过CMD执行时,我收到以下错误:

无法识别的VM选项'+ UseCodeCacheFlushing'

无法创建Java虚拟机.

我的Jdk版本是JDK 1.6

我想问一下如何解决它?

java android jvm android-studio

5
推荐指数
1
解决办法
7795
查看次数

将会话从CFScript转换为ColdFusion标记语法

应用程序: JavaScript函数侦听表单元素的更改(输入和选择),并将数据发布到将它们分配给Session结构的CFC方法.返回结构,使表单数据可用于会话的生命周期.该应用程序根据Raymond Camden使用服务器或会话存储的代码进行调整,以保留表单值.

问题:原始CFC代码是用CFScript编写的.因为我们在ColdFusion 8上,所以在调用方法时会出错.因此,我将该方法转换为ColdFusion标记语法并停止获取该错误.在Chrome的开发工具中,每当我在表单元素中输入内容时,我都会看到通过JSON对象传递到CFC的数据.所以我知道JavaScript函数正在运行.即使我没有收到任何返回错误,也有一些行为让我相信我的翻译不正确.例如,会话结构的转储仅显示输入的最后一个输入元素,而不是所有输入元素(如Ray的演示中的情况).

这是原始的CFScript版本,然后是我的标签翻译.除了关于我的翻译错误的任何评论之外,我很乐意对这一行进行解释<cfset s.name = [s[name]] />,尤其是[s[name]]构造,因为我无法清楚地说明那里发生的事情.谢谢.

脚本语法:

component {
    remote void function preserveSession(string awardData) {
        if(!isJSON(arguments.awardData)) return;
        arguments.awardData = deserializeJSON(arguments.awardData);

        //convert the array into a name based struct
        var s = {};
        for(var i=1; i<=arrayLen(arguments.awardData); i++) {
            var name = arguments.awardData[i].name;
            if(!structKeyExists(s, name)) {
                s[name] = arguments.awardData[i].value;    
            } else {
                //convert into an array
                if(!isArray(s[name])) {
                    s[name] = [s[name]];
                }
                arrayAppend(s[name], arguments.awardData[i].value);
            }    
        }
        session.awardFormData = s; …
Run Code Online (Sandbox Code Playgroud)

coldfusion coldfusion-8 cfml

5
推荐指数
1
解决办法
790
查看次数

ColdFusion CFTRY和CFCATCH混淆

我试图使用<cftry><cfcatch>代码块.但是我对某些事情感到困惑,我<cftry>在查询中放了一个块,并且该查询的结果不是空的,但条件总是进入<cfcatch>块.

示例:

<cftry>
  <cfquery name="qcar" datasource="xxxx">
     select * from allcar
   </cfquery>
<cfcatch>
   <script>
      alert("ERROR");
   </script>
</cfcacth>
</cftry>
Run Code Online (Sandbox Code Playgroud)

这段代码有什么问题<cfcatch>

coldfusion

5
推荐指数
2
解决办法
6932
查看次数

响应在开始时给出了斜杠 - Taffy - ColdFusion

我已经设置了我的第一个REST API,而且我是使用Taffy框架的新手.

我有一个网站正在使用ColdFusion 10,IIS和使用ColdBox.我在目录中设置了一个hello world示例.我//在回复中得到两个斜线.以下是响应的示例:

//["hello","world"] 
Run Code Online (Sandbox Code Playgroud)

我的hello.cfc看起来像这样:

component extends="taffy.core.resource" taffy_uri="/hello" {

    function get(){
        return representationOf(['hello','world']);
    }

}
Run Code Online (Sandbox Code Playgroud)

我的application.cfc看起来像这样:

<cfcomponent extends="taffy.core.api">
    <cfscript>

        this.name = hash(getCurrentTemplatePath());
        this.mappings["/resources"] = listDeleteAt(cgi.script_name, listLen(cgi.script_name, "/"), "/") & "/resources";

        variables.framework = {};
        variables.framework.reloadKey = "reload";
        variables.framework.reloadPassword = "test";
        variables.framework.serializer = "taffy.core.nativeJsonSerializer";
        variables.framework.returnExceptionsAsJson = true;

        function onApplicationStart(){
            return super.onApplicationStart();
        }

        function onRequestStart(TARGETPATH){
            // reload app to make any envoirnmental changes
            if(structkeyexists(url,'reloadApp')){
                applicationStop();
                location('index.cfm');
            }
            // load Taffy onRequestStart before our stuff
            super.onRequestStart();

            if (request.taffyReloaded) {
                // …
Run Code Online (Sandbox Code Playgroud)

iis rest coldfusion coldfusion-10 taffy

5
推荐指数
1
解决办法
414
查看次数

使用ColdFusion从Outlook .msg文件中提取附件

我正在构建一个系统,允许Intranet用户将文件拖放到div我们的ColdFusion站点上,然后在一些验证后会自动将它们上传到文件服务器.我的要求之一是:当上传的.msg文件是文件(Outlook电子邮件)时,提取任何作为该电子邮件附件的文件并单独上传.这可以使用org.apache.poi.hsmf.MAPIMessageJava对象.使用以下代码,我可以看到列出的每个附件对象.然后我可以获取他们的文件名和扩展名,并将每个文件名和扩展名保存到本地文件系统.

但是,如果附件是另一个.msg文件,则不起作用.当我调用getEmbeddedAttachmentObject()附加.msg文件时,它返回一个仅包含"undefined"的对象.非.msg文件返回一个二进制对象,然后我可以将其传递给FileWrite()ColdFusion函数.进一步检查MAPIMessage对象显示它有一个write()方法,但在调用它时我得到一个错误说明:

注意 - 对不起,此文件格式尚不支持写入.

这也得到了http://poi.apache.org上的文档的支持.

总而言之,我可以毫无问题地将每个电子邮件附件写入文件系统,除非附件是另一封电子邮件.我运气不好还是有另一种方法可以实现这一目标?

<cfscript>
  // Load test .msg into MAPIMessage object
  MAPIMessage = createObject("java", "org.apache.poi.hsmf.MAPIMessage");
  message = MAPIMessage.init('C:\Test\Test Email 1 Attachment.msg');

  // Get array of attached files
  attachments = message.getAttachmentFiles();

  // If attachments were found
  if(arrayLen(attachments) > 0) {

    // Loop over each attachment
    for (i=1; i LTE arrayLen(attachments); i++) {

      // Dump the …
Run Code Online (Sandbox Code Playgroud)

java email coldfusion outlook apache-poi

5
推荐指数
1
解决办法
939
查看次数

升级到ColdFusion 2018/Hibernate 5.2后生成的DDL无效

我们遇到ColdFusion 2018和/或Hibernate 5.2的问题.

我们有一系列模型可以在没有ColdFusion 2016问题的情况下生成DDL,但是在ColdFusion 2018中失败了.我们不确定哪个(ColdFusion或Hibernate)对我们看到的问题负最终责任.

有几个问题:

  • 数据库默认值不再有效
    • 字符串默认值不再正确引用.
    • 这个: property name="CompanyName" fieldtype="column" ormtype="string" default="Acme Inc." dbdefault="Acme Inc.";
    • 表中的结果创建:( CompanyName varchar(255) default Acme Inc.缺少引号)
  • 数据库名称不再正确引用
    • 我们有名为"prefix.databasename"的数据库(带点)
    • 这些用于查找但现在在CF2018中导致错误,例如"对象名称'prefix.databasename.dbo.SomeTable包含的最大前缀数量.最大值为2".
  • 表名称不再正确引用
    • 令人沮丧的是,他们有时被恰当地引用,有时则没有.以下内容取自hibernate日志:HIBERNATE DEBUG - alter table my_db.dbo.Group add DeletedByID int HIBERNATE DEBUG - alter table my_db.dbo.User add DeletedByID int HIBERNATE DEBUG - alter table [Group] add constraint FKfpa9ddoqu39xeskmmdg2pe3tq foreign key (DeletedByID) references [User] HIBERNATE DEBUG - alter table [User] add constraint FKj4hy4k4el0vvds8s8itfo2b04 foreign key (DeletedByID) references [User]
    • 在前两行中,注意数据库名称和表名都没有被正确引用(导致错误"通过JDBC语句执行DDL时出错 - 关键字'Group'附近的语法不正确."因为它在表名"组"上窒息").但是,在接下来的两行中,它会正确引用表名,并且不会使用数据库名称限定它们...

我知道有人会权衡并说我们的表名中不应该有点,我们不应该为关键字命名.注意,但最重要的是我们这样做,已经多年没有问题,并且在正确处理时它们是有效的名称. …

coldfusion orm hibernate coldfusion-2018

5
推荐指数
0
解决办法
94
查看次数

带ColdFusion的reCaptcha v3

我正在尝试将reCaptcha(v3)集成到ColdFusion站点。我对CF语法不太热,目前看来服务器端的验证请求没有任何帮助。

谁能看到任何明显错误的东西和/或将我指向正确的方向?

客户端:

<script src='https://www.google.com/recaptcha/api.js?render=6..."></script>
<script>
    grecaptcha.ready(function() {
        grecaptcha.execute('6...', {action: 'contact'})
        .then(function(token) {
            $("#recaptchaToken").val(token);
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我的recaptchaToken表单中有一个隐藏字段,可以看到其中的token值。

服务器端:

<cfhttp
  url="https://www.google.com/recaptcha/api/siteverify"
  method="POST"
  result="captchaResponse">
  <cfhttpparam
    type="formfield"
    name="secret"
    value='6...'
  />
  <cfhttpparam
    type="formfield"
    name="response"
    value='#form.recaptchaToken#'
  />
</cfhttp>

<cfdump var=#captchaResponse.filecontent# />
Run Code Online (Sandbox Code Playgroud)

我得到一个红色框输出,标题为 object of java.io.ByteArrayOutputStream

我企图把两者captchaResponsecaptchaResponse.filecontent没有用。

我期望的数据形式为:

{
  "success": true|false,      // whether this request was a valid reCAPTCHA token for your site
  "score": number             // the score for this request (0.0 - 1.0)
  "action": string            // …
Run Code Online (Sandbox Code Playgroud)

coldfusion recaptcha

5
推荐指数
1
解决办法
510
查看次数

将API调用从PHP和cURL转换为ColdFusion cfhttp

我正在尝试将API调用编码为在线测试公司。他们提供了PHP和cURL的示例调用,我需要使用来在ColdFusion 11中实现该调用<CFHTTP>。到目前为止,我的尝试失败了。我从他们的服务器/ API得到的唯一响应是:

Statuscode =“连接失败。状态代码不可用。”

ErrorDetail =“ I / O异常:握手期间远程主机关闭了连接”。

如果工作正常,我将获得一个JSON字符串,详细说明计算的分数。请注意,出于安全原因,在下面的代码中,我更改了一些值,但它是原始代码。任何建议或意见,将不胜感激,谢谢。

这是ColdFusion / cfhttp代码:

<cfoutput>
<cfset sdata = [
    {
        "customerid" = "ACompany",
        "studentid" = "test",
        "form" = "X",
        "age" = "18.10",
        "norms" = "grade",
        "grade" = "2"
    },
    {
        "scores" = [
        {"subtest"="math","score"="34"},
        {"score"="23","subtest"="lang"},
        {"score"="402","subtest"="rcomp"}
        ]
    }

]>
<!--- create JSON string for request --->
<cfset jsdata = serializeJSON(sdata)>
<!--- make the call --->
<cfhttp method="Get" url="https://www.APIwebsite.php" timeout="10" result="varx">
     <cfhttpparam type="header" name="Content-Type" value = "application/json; charset=utf-8"/> …
Run Code Online (Sandbox Code Playgroud)

php coldfusion curl cfhttp

5
推荐指数
1
解决办法
61
查看次数

在cfscript中编写的代码执行速度比基于等效标记的代码快吗?

今天,当我尝试增强应用程序的性能时,根据一些ColdFusion开发人员的建议,我将一些基于标记的代码修改为基于cfscript的代码.

但我没有看到任何性能提升.它实际上似乎有点慢.

coldfusion cfml

4
推荐指数
1
解决办法
480
查看次数